[JavaEE] SSH框架笔记_eclipse搭建SSH框架详解
SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。
第一步:准备工作。
下载好eclipse,Struts2,Spring,Hibernate。
1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。
当然你也可以下载eclipse-SDK。(下载eclipse-SDK需要下载Web,Tomcat等plugins)
2.Struts2:http://struts.apache.org/download
1)引入Struts的jar包。下载 struts-*-all.zip 解压后,struts/lib目录下是struts所有的相关jar包。
其中有5个是必须的:
Commons-logging-1.0.4.jar,Freemarker-2.3.13.jar,
Ognl-2.6.11.jar,Struts2-core-2.1.6.jar,Xwork-2.1.2.jar
其余jar包并不是struts必须的。还有3个包也要注意导入。不导入运行Tomcat时候可能会出现异常。
commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar,javassist-3.7.ga.jar
注意:javassist-3.7.ga.jar包是在struts2-blank-2.2.1.war示例工程中的web-inf/lib下的。
3.Spring:http://www.springsource.com/download/community
还可以在eclipse下安装下载。具体步骤是这样的:
1)打开eclipse-help-Software Updates.
2) 在打开的对话框中选择上面的第二项(Available Software)。
3)点击Add Site按钮,弹出URL对话框。
4)在对话框里输入:http://springide.org/updatesite/点击OK。
5)选择sping IDE点击安装(Install)。
4.Hibernate:http://sourceforge.net/projects/hibernate/files/hibernate3/
5.Jdk的src.zip包导入。(当然不导入也可以。。。)
第二步:
1.创建一个 Web Progect,自己起一个喜欢的名字。
2.修改WEB-INF下的web.xml文件,增加struts2的配置。
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>SSHTest</display-name>
<!-- struts Framework -->
<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>
<!-- welcome file -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3.在WEB-INF/classes目录下添加struts.xml配置文件:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package namespace="/" name="struts2" extends="struts-default">
<action name="login" method="execute" class="loginAction">
<result name="success">/WEB-INF/jsp/login.jsp</result>
<result name="input">/WEB-INF/index.jsp</result>
</action>
</package>
</struts>
4.配置Spring
1)导入spring包。spring-framework-**.zip解压后,将spring-framework-**文件夹的dist目录下的jar包导入工程中。
2)配置web.xml文件。
Xml代码
<!-- Spring Framework -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/applicationContext*.xml
</param-value>
</context-param>
3)添加applicationContext.xml文件。
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<!-- Action -->
<bean id="loginAction" scope="prototype" class="action.LoginAction"></bean>
</beans>
4)整合Spring与Struts。在Struts的lib目录中找到struts2-spring-plugin-*.jar,引入到工程中。
5.配置Hibernate
1)解压缩hibernate-distribution-*.zip。导入hibernate-distribution-*GA/lib/required目录中的jar包。
hibernate3.jar 核心类库
antlr-2.7.6.jar 代码扫描器,用来翻译HQL语句
commons-collections-3.1.jar Apache Commons包中的一个,包含了一些Apache开发的集合类,
功能比java.util.*强大
dom4j-1.6.1.jar 一个Java的XML API,类似于jdom,用来读写XML文件的
javassist-3.4.GA.jar Javassist 字节码解释器
jta-1.1.jar 标准的JTA API。
slf4j-api-1.5.2.jar
slf4j-nop-1.5.2.jar
2)创建Hibernate配置文件。在WEB-INF/calsses目录下建立链接数据库的配置文件hibernate.cfg.xml。
(本人比较懒,公司电脑中只有Access,也懒得下载别的DBMS。所以例子是连接Access的大家将就看吧。
*注意:需要导入Access_JDBC30.jar。
hibernate.cfg.xml:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">
com.hxtt.sql.access.AccessDriver
</property>
<property name="connection.url">
jdbc:access:///D:/workspace/SSHTest/TestDatabase.accdb
</property>
<!-- 数据库连接设置 -->
<property name="eclipse.connection.profile">access</property>
<property name="connection.username"></property>
<property name="connection.password"></property>
<property name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>
<!-- show_sql 生成SQL语句 -->
<property name="show_sql">true</property>
<!-- SQL dialect 方言 -->
<property name="hibernate.dialect">
com.hxtt.support.hibernate.HxttAccessDialect
</property>
<!-- 添加实体类的映射文件-->
<mapping resource="Login.hbm.xml" />
<!-- Annotation方式配置
<mapping class="entity.Login"/>
-->
</session-factory>
</hibernate-configuration>
注意:单独使用Hibernate需要创建Session工厂类HibernateSessionFactory.java
(如果用Spring整合就不需要了。Spring会在applicationContext.xml中创建。)
Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session,
而是类似于JDBC中的 Connection。Session是Hibernate运作的中心,
对象的生命周期、事务的管理、数据库的存取都与session息息相关。
而Session是由HibernateSessionFactory创建的,是线程安全的,
可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题,
但不能让多个线程共享一个Session。
3)Login.hbm.xml文件
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="包名">
<class name="类名" table="表名">
<id name="主键在java类中的字段名" column="对应表中字段" type="类型 ">
<generator class="主键生成策略"/>
</id>
</class>
</hibernate-mapping>
6.Spring整合Hibernate。Spring对hibernate的Session的创建、提交、关闭的整个生命周期进行管理。
1) 配置sessionFactory,让spring来创建Session。在applicationContext.xml中增加如下代码:
Xml代码
<!-- sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:/hibernate.cfg.xml</value>
</property>
</bean>
[JavaEE] SSH框架笔记_eclipse搭建SSH框架详解的更多相关文章
- 【山外笔记-工具框架】iperf3网络性能测试工具详解教程
[山外笔记-工具框架]iperf3网络性能测试工具详解教程 本文下载链接 [学习笔记]iperf3网络性能测试工具.pdf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性 ...
- linux ssh使用深度解析(key登录详解)
linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...
- Farseer.net轻量级开源框架 入门篇:添加数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...
- Farseer.net轻量级开源框架 入门篇:修改数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...
- Farseer.net轻量级开源框架 入门篇:删除数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...
- Farseer.net轻量级开源框架 入门篇:查询数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...
- 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)
1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...
- 【转】jumpserver 堡垒机环境搭建(图文详解)
jumpserver 堡垒机环境搭建(图文详解) 摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...
- Ubuntu下Git从搭建到使用详解
Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...
随机推荐
- HD2046骨牌铺方格
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- class list
class list(object): """ list() -> new empty list list(iterable) -> new list ini ...
- linux 分区与挂载
流程:分区-格式化-挂载 1.添加硬盘 使用fdisk -l命令查看磁盘状态 此处可以看到两块硬盘sda和sdb,第一块硬盘sda是装好系统的.sdb硬盘是未进行分区的. 本例将这个20G的硬盘分区, ...
- json操作json类型转换
前提是需要加Jar包: gson-2.2.2.jar package utils; import java.io.BufferedReader;import java.io.FileInputStre ...
- installshield basic msi 更新时覆盖不了上一个版本文件解决方案1
1.增加dll exe程序集的版本号 2.设置IS里文件的Set key file
- SOA服务开发小计
http://item.jd.com/11181846.html#comment SOA面向服务架构——SOA的概念 http://www.cnblogs.com/leslies2/archive/2 ...
- Ehcache(07)——Ehcache对并发的支持
http://haohaoxuexi.iteye.com/blog/2119733 Ehcache对并发的支持 在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的 ...
- NAT类型与穿透 及 STUN TURN 协议
STUN : Simple Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs] S ...
- UVA1099----Sharing Chocolate----在集合上的DP
题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- coco2d学习day01 精灵分析
day01笔记 using namespace cocos2d; == USING_NS_CC; 一般用后面的 #ifndef __MYLAYER_H__ #define __MYLAYER_H__ ...