周一上午:簡單的學習使用了下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>