大三下选修了J2EE这门课。学习的是ssh框架。
做系统的时候遇到了不少问题,百度一通,发现很多问题差不多十年前就有人发问有人解答了。
听已经工作的学长说他们很少用ssh框架了,spring会用的相对多一点。自从决定做前端以后,对于java web松懈了不少。虽然以前做的项目也大多只是数据库的操作,并没有涉及到算法。这次算是学期末,给自己的J2EE大作业做个总结。
SSH框架整合
说到整合,对于初学者来说确实比较棘手,我刚开始搭建框架的时候就在网上搜 “ssh框架整合” 等,百度上一堆一堆的,我试了很多很多,都不能成功,tomcat运行的时候会报各种错误。spring的jar包和struts2的jar包有的会有冲突。如果只整合struts2+hibernate的话,一般不会有问题。
记录一下搭建过程:
1.在myeclipse(我使用的是8.5)下创建web project。
2.在项目栏中右键项目名=>myeclipse=>add struts Capabilities.添加struts 的标准库
一般而言只需要添加第一个即核心jar包。添加完点击finish,然后可以在项目目录中发现相应的libraries,在src目录下会有struts.xml文件。
3.如果你还没有在myeclipse中添加数据库连接。可以点击windows => open perspective => myeclipse database explorer。然后
选择new,新建一个数据库连接
我使用的数据库是sql server2012。第一个选择的是你所使用的数据库,第二个是你为这个数据库连接取的名字。第三个固定模式,后面的databaseName对应的你为这个项目创建的数据库。接下来是数据库的登录名,密码。最后你需要加入对应的jdbc的包。
完成后可以点击Test Driver来测试是否连接成功。
3.接下来整合hibernate,和二步一样选择添加hibernate的核心包,之前的步骤就不配图了。接下来
这一步如果不想要整合spring的话就选择new来创建hibernate.cfg.xml。但是如果想要整合spring的话就选择Existing,就不会生成hibernate.cfg.xml文件。
这一步的DB Driver使用的是刚刚第三步创建的数据库连接,这里我直接选择原来创建好的test连接。
这一步创建的是session工厂类,一般不创建,我是使用自己创建的工厂类,所以不勾选,直接finish。
完成后可以看到项目目录中已经有了hibernate的核心包,在src目录下会有hibernate.cfg.xml文件(如果选择创建的话)。
4.接下来同样的方法添加spring包。
不使用sessionFactory。自己在applicationContext.xml下配置。
5.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!--新增配置代码-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>
最后形成如下的目录。