S2SH项目搭建流程 08年年底开始,公司新项目开始采用struts2了。往后大部分项目采用Strust2,Hibernate,Spring架构。项目中忙里偷闲,整理点东西供分享(如有不完善之处将尽快修补):
1) 准备好如下jar包: Oracle数据库的jar: Ojdbc14.jar struts2的jar: commons-pool.jar freemarker-2.3.8.jar ognl-2.6.11.jar struts2-core-2.0.11.jar xwork-2.0.4.jar struts2整合spring的jar: struts2-spring-plugin-2.0.9.jar Hibernate整合需要的jar: commons-logging-1.0.4.jar
2) Jndi连接池配置(以Tomcat为例)
<resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" maxactive="100" maxidle="30" maxwait="10000" username="EHT" password="eht" driverclassname="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:Orcl">
3) 创建工程,加入准备好的jar包, 通过IDE自动导入Spring,Hibernate框架, 删除asm-2.2.3.jar这个冲突的Jar 创建model,dao,service,action,inteceptor包, 建立相应的类: model类,dao类(继承HibernateDaoSupport),service类,Action类(继承ActionSupport), interceptor类(依据拦截方式实现不同接口,常用的是实现MethodInteceptor环绕拦截接口);
4) 修改web.xml,加入Spring的装载器与Struts2.0的过滤器,编码过滤器:
<!---->
<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>
<!---->
<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<!---->
<filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>gbk</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
5) 创建struts.xml文档;
6) 在根目录下创建daoContext.xml,strutsContext.xml,serviceContext.xml,aopContext.xml;
7) 为上步创建的4个文档引入如下申明:
<!---->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"></beans>
8) 创建JSP界面,建立表单,定义好表单的action属性
(与下一步的<action>配置的name属性匹配); 若要使用struts2标签,可引入
<%@ taglib prefix="s" uri="/struts-tags" %>
9) 配置struts.xml:
<struts>
<!---->
<constant name="struts.i18n.encoding" value="GBK">
<!---->
<constant name="struts.objectFactory" value="spring"> <package name="default" extends="struts-default"> <action name="user" class="loginAction"> <result name="input">/login.jsp</result> <result name="error">/login.jsp</result> <result name="success">/index.jsp</result> <interceptor-ref name="params"></interceptor-ref> </action> </package> </struts> 1
0) 配置strutsContext.xml:
<!---->
<bean id="loginAction" class="com.company.action.LoginAction" scope="prototype"> <property name="userService" ref="userService"> </bean>
11) 配置serviceContext.xml:
<!---->
<bean id="userService" class="com.company.service.UserService"> <property name="userDao" ref="userDao"> </bean>
12) 配置daoContext.xml:
<!---->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/test"> <property name="lookupOnStartup" value="false"> <property name="cache" value="true"> <property name="proxyInterface" value="javax.sql.DataSource"> </bean>
<!---->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingDirectoryLocations"> <list> <value>classpath:/com/company /model/User.hbm.xml</value> </list> </property> </bean> <bean id="userDao" class="com.company.dao.UserDao"> <property name="sessionFactory" ref="sessionFactory"> </bean>
13) 修改自动生成的applicationContext.xml:
<!---->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <import resource="aopContext.xml"> <import resource="daoContext.xml"> <import resource="serviceContext.xml"> <import resource="strutsContext.xml"> </beans>
14) src下加入Log4J资源文件:
log4j.properties
15) 可以开始写业务逻辑与数据库操作方法了. Action类中获得各范围对象的方法:
1.获得Session对象:
Map sessionMap = ActionContext.getContext().getSession(); //将信息放入session中 sessionMap.put("user", "valid");
2.获得request对象
HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("username", "helloworld");
3.获得response对象
HttpServletResponse response = ServletActionContext.getResponse(); Cookie cookie = new Cookie("username",this.getUsername()); //如果设置为负数,则为会话Cookie; cookie.setMaxAge(1000); response.addCookie(cookie); 字段驱动: 本例采用字段驱动, 它一般用在页面表单比较简单的情况使用.界面表单文本框的name属性必须采用user.username形式 模型驱动: 界面表单文本框比较复杂, 用普通java对象充当模型部分 struts.xml的action配置加上<interceptor-ref name="model-driven"> 并且让Action类实现ModelDriven接口,重写getModel()方法 public Object getModel(){ return user; } 将JSP界面表单文本框的name属性的user.去掉 附加过滤器:
<!---->
<filter> <filter-name>hibernateFilter</filter-name> <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class>
<!---->
<init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>hibernateFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
分享到:
相关推荐
本教程将详细介绍如何在MyEclipse 8.5环境下搭建一个基本的S2SH项目。 **一、开发环境** 1. **MyEclipse 8.5**:集成开发环境,用于编写和管理Java项目。 2. **JDK 1.6**:Java开发工具包,提供Java语言运行环境。 ...
【标题】"S2SH项目搭建"涉及到的是一个基于Struts2、Spring和Hibernate三大开源框架集成的Web项目构建过程。这些技术是Java Web开发中非常经典的MVC(Model-View-Controller)架构模式实现,广泛应用于企业级应用...
**S2SH架构搭建简单实例解析** S2SH架构,全称为Struts2+Spring+Hibernate,是Java Web开发中的经典MVC(Model-View-Controller)架构组合。这个架构结合了Struts2的视图控制、Spring的依赖注入与事务管理以及...
下面将详细介绍S2SH框架的基本概念和开发流程。 1. **Struts框架** Struts是一个基于MVC(Model-View-Controller)设计模式的Java Servlets框架,负责处理HTTP请求和转发到相应的控制器。在Struts.xml配置文件中,...
本文将详细讲解S2SH项目的搭建步骤,以及一些关键配置和注意事项。 首先,我们要添加项目所需的支持库。在搭建S2SH项目时,需要包括以下核心组件的jar包: 1. **Struts2**:struts2-core-2.0.11.jar、xwork-2.0.4....
这个实例不仅涵盖了S2SH框架的基本配置,还涉及到数据库操作、Spring依赖注入和Struts2的Action控制流程。通过实践,开发者可以更好地理解这三个框架的协同工作方式,为后续的复杂应用开发打下坚实的基础。
以上就是关于"S2SH环境搭建"的知识点介绍,涵盖了Struts2、Spring和Hibernate的基础概念、配置过程及项目结构。通过理解这些内容,开发者可以搭建出一个基本的S2SH开发环境,从而高效地进行Java Web应用的开发。
**S2SH简单集成小项目** 本项目是一个基于Struts2、Spring和Hibernate(简称S2SH)的轻量级Java Web应用框架的实例。S2SH是企业级Web开发中常用的三大开源框架的组合,它们分别是:Struts2负责控制层,Spring处理...
通过这个S2SH项目整合源码,开发者可以学习到如何将这三个框架协同工作,理解它们各自的职责和交互方式,从而提升在企业级Java Web开发中的能力。此外,这个项目也展示了基本的用户认证和CRUD操作的实现,对于初学者...
在这个“S2SH和MySQL搭建的框架”中,开发者使用这些技术与MySQL数据库协同工作,创建了一个基础的登录系统。 Struts2是ActionServlet的增强版,提供了一种更强大的处理HTTP请求的方式,并且拥有丰富的插件体系和...
标题中的“s2sh所需jar包”指的是在搭建基于Struts2、Spring和Hibernate整合的Web应用程序(通常称为S2SH框架)时所必需的Java类库文件。这些jar包是构建这种三层架构(表现层、业务逻辑层、数据访问层)应用的基础...
本教程将详细介绍如何搭建一个完整的S2SH框架环境,并提供源代码供参考。 首先,我们需要了解每个组件的基础: 1. **Struts 2**:这是一个基于MVC设计模式的Java Web框架,主要负责处理用户请求,控制应用程序流程...
【标题】基于S2SH框架开发的BBS的JSP项目 这个项目是一个采用Struts2、Spring...通过学习这个基于S2SH的BBS项目,不仅可以掌握三大框架的集成应用,还能提升对Web开发整体流程的理解,为后续的进阶学习打下坚实基础。
使用这个完整的S2SH JAR包,开发者可以在新的Java Web项目中快速搭建环境,实现MVC架构,通过Spring管理Bean,以及利用Hibernate进行数据持久化。这极大地提高了开发效率,减少了配置工作,并允许团队成员更专注于...
开发者在搭建S2SH环境时,必须确保这些jar包完整且正确导入,以避免运行时出现类找不到或版本不匹配等问题。 在实际开发过程中,`S2SH所需Jar包`通常会包括以下组件: - Spring框架的核心库(如spring-context、...
这个“s2sh框架的搭建例子”中的"ywhw"可能是一个项目名或目录名,具体含义需要进一步查看压缩包内容。通过这个例子,开发者可以学习到如何将SSH三个组件有效地结合,为复杂的Web应用提供稳定的基础。尽管现代开发中...
通过下载的"mytest"压缩包,开发者可以直接导入IDE进行项目运行,省去了搭建环境和基础配置的步骤,特别适合新手快速上手学习S2SH框架的使用。 总结,S2SH整合提供了一种高效、成熟的Java Web开发解决方案,它简化...
这个“完整的S2SH框架整合,带jar包”资源包含了这些框架的核心库,以及可能的一个实例项目,旨在帮助开发者快速搭建和理解S2SH的应用。 1. **Struts**:Struts 是一个基于MVC设计模式的Web应用框架,主要用于控制...
综上所述,基于S2SH框架的BBS论坛管理系统充分利用了这三个框架的优势,实现了高效的开发流程和稳定的运行性能。开发者通过Struts2处理用户请求,Spring管理业务逻辑和数据访问,Hibernate则负责数据库操作。这样的...