- 浏览: 151324 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
hx0637:
楼主!小弟要面临面试了,能否指导下小弟?
面试 深圳一家公司的 -
kljismi:
你好,我现在正在开这项目的代码,但是我不明白@Privileg ...
权限管理模块分析 -
yzhw:
终于找到了
ImageSizer.java -
sunloveny:
国
struts国际化 -
jackotty:
谢谢楼主的分享
struts validator验证框架
spring+struts的集成(第一种集成方案)
原理:在Action中取得BeanFactory对象,然后通过BeanFactory获取业务逻辑对象
1、spring和struts依赖库配置
* 配置struts
--拷贝struts类库和jstl类库
--修改web.xml文件来配置ActionServlet
--提供struts-config.xml文件
--提供国际化资源文件
* 配置spring
--拷贝spring类库
--提供spring配置文件
2、在struts的Action中调用如下代码取得BeanFactory
BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
3、通过BeanFactory取得业务对象,调用业务逻辑方法
applicationContext-beans.xml
Web.xml
struts-config.xml
LoginActionForm.java
LoginAction.java
UserManager.java
UserManagerImpl.java
index.jsp
login.jsp
success.jsp
原理:在Action中取得BeanFactory对象,然后通过BeanFactory获取业务逻辑对象
1、spring和struts依赖库配置
* 配置struts
--拷贝struts类库和jstl类库
--修改web.xml文件来配置ActionServlet
--提供struts-config.xml文件
--提供国际化资源文件
* 配置spring
--拷贝spring类库
--提供spring配置文件
2、在struts的Action中调用如下代码取得BeanFactory
BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
3、通过BeanFactory取得业务对象,调用业务逻辑方法
applicationContext-beans.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.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="userManager" class="com.bjsxt.usermgr.manager.UserManagerImpl"/>
</beans>
<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.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="userManager" class="com.bjsxt.usermgr.manager.UserManagerImpl"/>
</beans>
Web.xml
引用
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!--
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml</param-value>
</context-param>
-->
<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>
</web-app>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!--
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml</param-value>
</context-param>
-->
<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>
</web-app>
struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="loginForm" type="com.bjsxt.usermgr.forms.LoginActionForm"/> </form-beans> <action-mappings> <action path="/logininput" forward="/login.jsp" ></action> <action path="/login" type="com.bjsxt.usermgr.actions.LoginAction" name="loginForm" scope="request" > <forward name="success" path="/success.jsp"/> </action> </action-mappings> <message-resources parameter="MessageResources" /> </struts-config>
LoginActionForm.java
package com.bjsxt.usermgr.forms; import org.apache.struts.action.ActionForm; public class LoginActionForm extends ActionForm { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
LoginAction.java
package com.bjsxt.usermgr.actions; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.bjsxt.usermgr.forms.LoginActionForm; import com.bjsxt.usermgr.manager.UserManager; import com.bjsxt.usermgr.manager.UserManagerImpl; public class LoginAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginActionForm laf = (LoginActionForm)form; //UserManager userManager = new UserManagerImpl(); //userManager.login(laf.getUsername(), laf.getPassword()); //BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-beans.xml"); //UserManager userManager = (UserManager)factory.getBean("userManager"); //userManager.login(laf.getUsername(), laf.getPassword()); BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()); //ApplicationContext pc = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()); UserManager userManager = (UserManager)factory.getBean("userManager"); userManager.login(laf.getUsername(), laf.getPassword()); return mapping.findForward("success"); } }
UserManager.java
package com.bjsxt.usermgr.manager; public interface UserManager { public void login(String username, String password); }
UserManagerImpl.java
package com.bjsxt.usermgr.manager; public class UserManagerImpl implements UserManager { public void login(String username, String password) { System.out.println("UserManagerImpl.login() -- username=" + username); } }
index.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!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=GB18030"> <title>spring和struts的集成(第一种方案)</title> </head> <body> <h1>spring和struts的集成(第一种方案)</h1> <hr> <a href="logininput.do">登录</a> </body> </html>
login.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!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=GB18030"> <title>用户登录</title> </head> <body> <form action="login.do" method="post"> 用户:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html>
success.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!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=GB18030"> <title>Insert title here</title> </head> <body> ${loginForm.username },用户登录成功! </body> </html>
发表评论
-
ssh_training_itemmgr jsp
2008-12-29 19:01 1201index.jsp <%@ page languag ... -
src\com\bjsxt\drp\business\util
2008-12-29 17:32 1146AppException.java package com. ... -
ssh_training_itemmgr 04
2008-12-29 17:28 752DataDict.java package com.bjs ... -
ssh_training_itemmgr 03
2008-12-29 17:21 950DrpExceptionHandler.java packa ... -
ssh_training_itemmgr 02
2008-12-29 17:11 1026MessageResources.properties 引 ... -
ssh_training_itemmgr 01
2008-12-29 16:58 776applicationContext-actions.xml ... -
采用声明式事务
2008-12-29 15:08 779采用声明式事务 1、声明式事务配置 * 配置Session ... -
采用编程式事务
2008-12-29 13:27 981采用编程式事务 1、getCurrentSession()与 ... -
spring+struts的集成(第二种集成方案)
2008-12-29 12:40 770spring+struts的集成(第二种集成方案) 原理:将业 ... -
spring_dynamic_proxy
2008-12-29 00:38 742SecurityHandler.java package c ... -
AOP4
2008-12-29 00:24 694spring对AOP的支持 1、如果目标对象实现了接口,默认 ... -
AOP3
2008-12-29 00:17 703spring对AOP的支持 Aspect默认情况下不用实现 ... -
AOP2
2008-12-29 00:11 927spring对AOP的只是(采用配置文件的方式) 1、sp ... -
AOP1
2008-12-29 00:08 699spring对AOP的只是(采用Annotation的方式) ... -
spring_static_proxy
2008-12-29 00:01 760UserManager.java package com.b ... -
根据类型自动装配
2008-12-28 23:55 710引用<?xml version="1.0&qu ... -
根据名称自动装配
2008-12-28 23:53 741applicationContext-beans.xml 引 ... -
spring_scope
2008-12-28 23:42 1018spring Bean的作用域: scope可以取值: ... -
spring_injection
2008-12-28 23:14 5561、spring的普通属性注入 参见:spring文档3. ... -
DYNAMIC PROXY
2008-12-24 23:53 797package com.bjsxt.spring; ...
相关推荐
CXF2.1.3版本包含了一些关键特性,如WSDL第一类公民支持,这意味着可以从Java代码自动生成WSDL,或者从WSDL反向生成Java代码。此外,CXF还支持JAX-WS和JAX-RS标准,提供了丰富的客户端和服务端API。 【Spring】在该...
##### 第一部分:Web工程集成Struts2框架 **Step01:创建Web工程** - 在开发环境中创建一个新的Web工程,如Eclipse或IntelliJ IDEA中通过New -> Web Project创建。 **Step02:完成Web工程与Struts2的整合开发** -...
在"Spring+Struts的集成(第一种方案)"中,我们通常指的是基于Servlet Filter的集成方式,这种方案将Spring作为应用的核心容器,而Struts作为MVC框架处理HTTP请求。下面我们将详细介绍这个集成方案的具体步骤和关键...
标题中的"spring+struts+ibatis"是指一种经典的Java Web开发架构,也被称为SSM框架。这个架构结合了Spring框架、Struts2框架和iBatis(现在称为MyBatis)来构建高效且可维护的Web应用。下面将详细阐述这三个框架以及...
SSM(Spring、Struts和MyBatis)是Java Web开发中常见的三层架构组合,它将Spring的依赖注入和管理、Struts的MVC模式以及MyBatis的持久层操作结合在一起,提供了一套高效、灵活的开发方案。在本压缩包中,你将找到...
标题中的"spring+struts2+mybatis jar包"指的是一个经典的Java企业级应用程序开发框架组合,通常称为SSM框架。这个框架集合了Spring、Struts2和MyBatis三个核心组件,它们各自负责不同的职责,协同工作以构建高效、...
### Eclipse+Struts2+Spring+MyBatis环境搭建知识点详解 #### 一、环境准备与文件下载 在搭建Eclipse+Struts2+Spring+MyBatis开发环境之前,首先需要准备相应的软件包。 - **Struts2**: 下载全包`struts-2.3.3-...
SSH项目是一种经典的Java Web开发框架组合,由Spring、Hibernate和Struts2三个开源框架组成。这个项目示例提供了一个基于这些技术的简单应用,帮助开发者理解如何将它们整合在一起进行实际开发。 **Spring框架**是...
Spring、Struts2和Hibernate是Java Web开发中的三大框架,它们各自负责应用程序的不同层面,共同构建了一个强大的企业级应用解决方案。这个"spring+struts2+hibernate的完整架包"应该包含了这三个框架的核心库和其他...
SSH框架,全称为Spring、Struts2和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,数据库持久化,以及强大的前端展示能力,使得开发者能高效地构建...
同时,Struts2可以与Spring无缝集成,实现Action类的依赖注入,便于管理和测试。 三、Ibatis:持久层的优雅解决方案 Ibatis与传统的ORM框架不同,它并不完全取代SQL,而是将SQL语句与Java代码解耦,提供动态SQL...
该项目是一个基于Spring、Struts2和EasyUI的Web应用程序,旨在提供一套完整的权限控制系统。Spring作为核心框架,负责管理应用的bean和实现依赖注入,从而提高代码的可测试性和可维护性。Struts2作为MVC框架,处理...
Struts2框架包含了struts2-core、struts2-convention、struts2-dojo等组件,这些组件负责处理请求、解析Action配置、提供视图展现以及与第三方库的集成。 整合这三个框架,开发者通常会利用Spring的AOP和DI特性来...
整合的第一步是添加必要的依赖库。根据题目提供的信息,我们需要在项目的`WEB-INF/lib`目录下放置`struts2-spring-plugin-x-x-x.jar`和`spring.jar`两个核心库。同时,由于Spring的依赖注入机制使用了日志框架,还...
这个架构为开发者提供了一种高效、灵活且强大的解决方案,帮助构建复杂的Web应用程序。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它在Struts1的基础上进行了很多改进,提供了更...
Spring、Hibernate和Struts1是Java Web开发中的三个重要框架,它们构成了经典的MVC(Model-View-Controller)架构。这个基本的架构组合为开发者提供了强大的功能,包括依赖注入、对象关系映射以及业务逻辑控制。 ...