周一上午:简单的学习使用了下power designer,可以可视化的创建实体类,并且可以导出适合不同数据库的sql文件,可以直接导入数据库使用;公司常用这样的方式建表,然后使用hibernate自动生成实体类;
之后是办理招行的银行卡,方便领工资;
回来开始踩上传文件未完的坑;
仔细研究后发现框架中的文件上传还是正常的文件上传,不过是可以选择性的将文件存入orcl数据库,不过本质还是在tomcat/wepapp/下新建一个文件夹,然后将文件名及文件ID拼接后存入;获取文件也是相同的方法,从文件路径中下载文件,文件名通过文件ID获取;唯一一个坑是配置文件的路径不正确,导致取值为Null,所以创建一个为Null的文件夹,获取配置文件的方法是通过反射获取配置文件路径下的文件,然后通过键值对的方式获取文件路径的具体值。
解决了大部分坑后,简单的总结下文件的上传下载吧:
首先使用servelt创建upload,dowmload,delete三个文件,然后再web.xml下配置路径。
jsp页面使用js完成文件上传,上传后接受文件,根据ID+格式存在目标路径下,然后根据需求存入数据库中,存储成功后返回文件路径及文件名+文件ID。
jsp接受文件ID,通过表单数据存入数据库中。
文件下载:通过文件ID获取路径,以流的形式下载
文件删除:通过文件ID获取路径,先在查找文件,然后删除文件,最后删除数据库中的信息;
省市区3级联动的jsp实现,网上的一点代码:
<%@page import="com.yyb.po.Region"%>
<%@page import="java.util.List"%>
<%@page import="com.yyb.dao.impl.ProvinceDaoImpl"%>
<%@page import="com.yyb.dao.ProvinceDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
ProvinceDao pdao=new ProvinceDaoImpl();
List<Region> regions=pdao.findAllProvince();
request.setAttribute("regions", regions);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>省市县三级联动</title>
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#province").change(function(){
var provinceId=$("#province").val();
$.ajax({
type:"post",
url:"getCity",
data:"provinceId="+provinceId,
success:function(msg){
var city=JSON.parse(msg);
if(city.resultCode==0){
var provinceArry=city.rs;
$("#city").get(0).options.length=provinceArry.length+1;
$("#city").get(0).options[0]=new Option("请选择",0);
for(var i=0;i<provinceArry.length;i++){
$("#city").get(0).options[i+1]=new Option( provinceArry[i].region_name, provinceArry[i].region_id);
}
}else{
alert("未知错误!");
}
}
});
});
$("#city").change(function(){
var provinceId=$("#city").val();
$.ajax({
type:"post",
url:"getCity",
data:"provinceId="+provinceId,
success:function(msg){
var city=JSON.parse(msg);
if(city.resultCode==0){
var provinceArry=city.rs;
$("#county").get(0).options.length=provinceArry.length+1;
$("#county").get(0).options[0]=new Option("请选择",0);
for(var i=0;i<provinceArry.length;i++){
$("#county").get(0).options[i+1]=new Option( provinceArry[i].region_name, provinceArry[i].region_id);
}
}else{
alert("未知错误!");
}
}
});
});
});
</script>
</head>
<body>
请选择:
<select id="province">
<c:forEach items="${regions}" var="r">
<option value="${r.region_id}">${r.region_name}</option>
</c:forEach>
</select>
<select id="city"></select>
<select id="county"></select>
</body>
</html>