一、工程目录
1、java源码目录
- com.commonTools
- MD5Encoding:MD5加密类,用于登录密码加密、解密
- com.controller
- LoginAction: 登录输入密码后跳转到的控制器,连接数据库并验证密码,验证成功进入查询界面
- RegisterAction:根据输入的信息注册(插入数据库)
- StuOptionController:处理查询、删除、修改、生成PDF报表请求
- com.dao
- DatabaseDao: 数据库操作(增删改查接口)
- com.dao.impl
- DatabaseDaoImpl:数据库操作实例类(springJdbc),StuOptionController中的数据库操作用这种方法
- com.database
- DatabaseConnect\Tool:数据库连接和操作类(纯jdbc),登录和注册时连接数据库用这种方法
- com.model
- StuModel:学生信息Model
- com.view
- ViewPDF:生成PDF视图
2、jsp目录
- js:
- jquery:主要用在更新信息的时候(QueryResult.jsp)
- (1)双击事件,将table的td改为input
- (2)监听input的内容改变,从而改变更新按钮指向的URL
- jquery:主要用在更新信息的时候(QueryResult.jsp)
- jsp
- hello.jsp:登录界面
- LoginError.jsp:登录失败页面,打印失败信息
- Query.jsp:根据姓名和学号进行模糊查询
- QueryResult.jsp:查询结果界面
- Register.jsp:注册界面
- lib
- 生成pdf报表所需的jar包(注意目录、版本对应问题)
二、内容
1、springJDBC
(1)、创建jdbc.properties文件
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=xscj
jdbc.username=mp
jdbc.password=mp
jdbc.maxActive=50
jdbc.maxIdle=10
jdbc.maxWait=50
jdbc.defaultAutoCommit=true(2)、在applicationContext.xml声明相应的Bean
<!-- 属性文件读入 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:*.properties</value>
</list>
</property>
</bean>
<!-- 数据源定义,使用dbcp数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<property name="maxWait" value="${jdbc.maxWait}"></property>
<property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}"></property>
</bean>
<!-- 声明jdbcTemplate是数据来源 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" abstract="false"
lazy-init="false" autowire="default" >
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- 将jdbcTemplate注入数据库操作实例类 -->
<bean id="databaseDaoImpl" class="com.dao.impl.DatabaseDaoImpl">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate" />
</property>
</bean>
- (3)、jdbcTemplate的Bean注入有两种方式:
- 第一种如上,在application.xml中声明注入
- 第二种是在.java中采用注解@Autowired自动注入(如在StuOptionController.java)
三、问题
1、myEclipse将项目转成Maven项目,但是出现好像依赖的jar包没导入,估计是JDK问题,myEclipse2013最高JDK1.7,但我用的是JDK1.8,所以只用手动导入jar包。
2、applicationContext.xml中context:component-scan或者mvc报错
- 解决办法(注意顺序,先…XXX,再…XXX.xsd):
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
3、下载的PDF为空,打不开
- 解决办法(ViewPDF.java):
@Override
protected void buildPdfDocument(Map<String, Object> model, Document document,
PdfWriter arg2, HttpServletRequest arg3, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);//设置中文字体
Font headFont = new Font(bfChinese, 10, Font.BOLD);//设置字体大小
OutputStream os = response.getOutputStream();
response.setContentType("application/pdf");
PdfWriter.getInstance(document, os);
document.open();
// 为document 添加数据
// document.add(table);
document.close();
os.flush();
os.close();
}
4、生成PDF报表时中文不能显示
- 解决办法:
5、找不到JdbcTemplate所需的包
- 解决办法:
- 右击项目-MyEclipse-Project Facets-Manager-Spring-勾选Spring Persistence
- 右击项目-MyEclipse-Project Facets-Manager-Spring-勾选Spring Persistence