- 浏览: 640348 次
- 性别:
- 来自: 北京
最新评论
-
2047699523:
java hibernate demo使用实例教程源代码下载: ...
hibernate延迟加载的原理与实现 -
在世界的中心呼喚愛:
hantsy 写道这种lazy的解释只对了一半,按java p ...
hibernate延迟加载的原理与实现 -
moguicy:
看了下时间,不是楼主是否还在开发
【翻译】Wicket启示录——理论与实践(一) -
xfan0828:
"最后但并不是最不重要的一点就是" BZ, ...
【翻译】深入浅出 EJB3.1(上) -
doudou87323:
十分感谢,正在学习中,受益匪浅
【翻译】深入浅出 EJB3.1(上)
3. Controller配置:
Struts2的配置方法不用多说,只需要导入相应的包后,在web.xml里配置:
xml 代码
- <filter>
- <filter-name>struts2filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.FilterDispatcher
- filter-class>
- filter>
- <filter-mapping>
- <filter-name>struts2filter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
就可以正常使用了。但这个项目,因为与Spring集成了,所以与Spring有关的插件包也必须放在项目的WEB-INF\lib下面。
在这里Struts2解决的是用户登录的问题,代码非常简单。
UserController.java
java 代码
- package com.leo.controller;
- import static com.leo.constants.LoginStauts.USER;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.log4j.Logger;
- import org.apache.struts2.interceptor.ServletRequestAware;
- import org.apache.struts2.interceptor.SessionAware;
- import com.leo.po.User;
- import com.opensymphony.xwork2.Preparable;
- public class UserController extends BaseController implements
- ServletRequestAware, SessionAware, Preparable {
- private static Logger logger = Logger.getLogger(UserController.class);
- private static final long serialVersionUID = 1L;
- private final String url = "listUsers.action";
- private final String urlByName = "findUser.action";
- private HttpServletRequest request;
- private Map session;
- public void setServletRequest(HttpServletRequest req) {
- this.request = req;
- }
- public void setSession(Map session) {
- this.session = session;
- }
- /** *****************用户属性************************** */
- private User user;
- public void setUser(User user) {
- this.user = user;
- }
- public User getUser() {
- return user;
- }
- /** **************************************************** */
- public String index() {
- return SUCCESS;
- }
- public String userCRUDAction() {
- return SUCCESS;
- }
- /**
- * 用户登录
- *
- * @return
- */
- public String login() {
- logger.info("名字为:" + user.getName());
- User temp = this.getUserService().findByNameExact(user.getName());
- if (temp == null) {
- addActionMessage("用户名错误,请重新输入!");
- return INPUT;
- } else {
- if (!temp.getPassword().equals(user.getPassword())) {
- addActionMessage("密码错误,请重新输入!");
- return INPUT;
- }
- }
- session.put(USER, temp);
- logger.info("登录成功......");
- return SUCCESS;
- }
- /**
- * 用户注销
- *
- * @return
- */
- public String logout() {
- logger.info("USER is: " + USER);
- if (session.containsKey(USER.toString())) {
- logger.info("运行到这里了吗?");
- session.remove(USER);
- }
- return SUCCESS;
- }
- /**
- * 如果扩展项目,进行CRUD时,可能有用。
- */
- public void prepare() throws Exception {
- }
- }
在这个类的存放路径下,我还配置了一个验证文件。
UserController-userAction-validation.xml
xml 代码
- <!---->
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
- <validators>
- <field name="user.name">
- <field-validator type="requiredstring">
- <message>用户名不能为空.message>
- field-validator>
- field>
- <field name="user.password">
- <field-validator type="requiredstring">
- <message>密码不能为空.message>
- field-validator>
- field>
- validators>
这里起名叫UserController-userAction-validation.xml的目的是只想验证UserController.java的和userAction方法。包括
userAction,userAction!** 。以免出现验证在使用过程中出现烦人的干扰问题。
最后在struts.xml里配置一下UserController,同时也需要在Spring中注册这个Bean,因为与Spring集成后,Spring已经成为了工厂。
这两个配置文件都很简单:
user.xml
xml 代码
- <!---->
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="user" extends="default">
- <action name="userCRUDAction"
- class="com.leo.controller.UserController" method="userCRUDAction">
- <result name="success">login.jspresult>
- <result name="input">login.jspresult>
- action>
- <action name="index" class="com.leo.controller.UserController"
- method="index">
- <result name="success">login.jspresult>
- <result name="input">login.jspresult>
- action>
- <action name="login" class="com.leo.controller.UserController"
- method="login">
- <result name="success">welcome.jspresult>
- <result name="input">login.jspresult>
- action>
- <action name="logout" class="com.leo.controller.UserController"
- method="logout">
- <result name="success">login.jspresult>
- <result name="input">login.jspresult>
- action>
- package>
- struts>
注意:user.xml被包含在struts.xml里,目的是便于模块化编程。并且使用了Struts2的包继承,下面是struts.xml的配置:
xml 代码
- <!---->
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <include file="struts-default.xml" />
- <package name="default" extends="struts-default">
- <interceptors>
- <interceptor-stack name="strutsStack">
- <interceptor-ref name="exception" />
- <interceptor-ref name="alias" />
- <interceptor-ref name="servlet-config" />
- <interceptor-ref name="prepare" />
- <interceptor-ref name="i18n" />
- <interceptor-ref name="chain" />
- <interceptor-ref name="debugging" />
- <interceptor-ref name="profiling" />
- <interceptor-ref name="scoped-model-driven" />
- <interceptor-ref name="model-driven" />
- <interceptor-ref name="fileUpload" />
- <interceptor-ref name="checkbox" />
- <interceptor-ref name="static-params" />
- <interceptor-ref name="params" />
- <interceptor-ref name="validation">
- <param name="excludeMethods">
- input,back,cancel,browse
- param>
- interceptor-ref>
- <interceptor-ref name="workflow">
- <param name="excludeMethods">
- input,back,cancel,browse
- param>
- interceptor-ref>
- interceptor-stack>
- interceptors>
- <default-interceptor-ref name="strutsStack" />
- package>
- <include file="struts_xml/user.xml" />
- struts>
那么相应的Spring配置就是:
xml 代码
- <bean id="userAction" class="com.leo.controller.UserController"
- scope="prototype">
- <property name="userService" ref="userService" />
- bean>
其中userService是前面已经注册过的Service Bean了。接下来就是关于DWR的使用和发送邮件了。
发表评论
-
自己动手写一个Struts2
2008-08-14 00:10 15365使用Struts2或webwork2有一段时间了,想把Stru ... -
Struts2(Webwork2)一些实战开发技巧
2008-06-02 21:18 5872一. 使用反射动态取出 Pojo 的属性 这一招在 ... -
Struts2的第一个入门实例(三)--Struts2与Guice整合
2008-02-15 14:29 9101Guice可真轻啊,所需的3个Jar包才不到600k。但缺点就 ... -
Struts2,Webwork2关于使用FCKeditor,richtexteditor 的解决方法
2008-01-31 00:18 4443一 Webwork2 + FCkeditor 这个问题由来 ... -
Struts2所有插件简介--目前到达40余种
2008-01-26 17:06 10866今天无意查看了Struts2的插件时,发现已经林林总总有40个 ... -
Struts2的第一个入门实例(二)--什么是code-behind
2008-01-13 19:26 8828Struts2的Code-behind究竟是什么?ROR那样的 ... -
Struts2.0.11在Tomcat5.5, Jetty 以及 Weblogic10等运行的不同
2008-01-06 22:53 5884终于有时间玩玩最新版本的Struts2.0.11了, 与上一个 ... -
struts2 奇怪的Action警告
2008-01-06 21:20 13110不知道大家有没有遇到在使用表单的时候,有时候会出一个莫名其妙的 ... -
经验不足,差一点重构整个系统
2007-12-30 19:36 4043呵呵,很久没有来JavaEye写文章了,公司工作也 ... -
Struts2+Spring+Hibernate In Action(四)
2007-11-01 01:43 5519第二部分: 1.DWR的配置: DWR是Java一个比较常用的 ... -
Struts2+Spring+Hibernate In Action(二)
2007-11-01 00:30 6151当所有的Service配置好了,可以当他们统统配置在Sprin ... -
原来是Struts2.0的一个Bug
2007-10-27 23:00 5616开始使用的是Struts2.06版本。在配置Struts.xm ... -
Struts2需要注意的一个小地方
2007-10-22 17:49 16005今天在运行Struts2时,无意间发现程序在写Struts.x ... -
Struts2的第一个入门实例(一)
2007-09-29 14:12 21087Struts2有自己的圈子了,我也写一个Struts2的 ... -
Struts2+Spring+Hibernate In Action(一)
2007-11-01 00:26 18198前言: 关于Struts2系列的文章网上基本上都有了,但鲜有 ... -
Struts2在路上2。。。。。。
2007-09-14 16:16 44362.关于关闭Struts2自动验证的烦人英文问题。 应该有不少 ... -
Struts2在路上。。。。。。
2007-09-12 14:25 55001.Struts2强大,但也有很多需要解决的问题。就拿我现在这 ...
相关推荐
2. **配置文件**:struts-config.xml定义Struts的配置,spring-beans.xml管理Spring的bean,hibernate.cfg.xml配置Hibernate的数据库连接,可能还有实体类的映射文件(hbm.xml或使用注解)。 3. **JSP页面**:展示...
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
搭建 Struts2+Spring+Hibernate 框架中的 Action 单元测试环境需要解决三个主要问题:如何测试 Action?如何解决 JPA 中的 Lazy 机制?如何做用户 Session 管理?通过使用 StrutsSpringTestCase 和 junit4.jar,可以...
Struts2、Spring4和Hibernate4是Java Web开发中的三大主流框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个最新的项目系统整合了这三个框架,旨在提供一个高效、灵活且易于维护的开发环境。下面将详细...
Struts2、Spring4和Hibernate5是Java Web开发中的三个重要框架,它们分别负责MVC模式中的动作控制、依赖注入和持久化管理。这三者的整合可以构建出高效、稳定且易于维护的企业级应用。 **Struts2** 是一个基于MVC...
Struts2、Spring4和Hibernate是Java开发中的三大框架,它们在构建企业级Web应用程序时起着核心作用。本教程将深入探讨这三个框架如何协同工作,以实现高效、灵活和可扩展的电子商务平台。 首先,Struts2是一个基于...
《轻量级Java EE企业应用实战(第4版)》这本书深入探讨了Struts 2、Spring 4和Hibernate这三大框架的整合开发,旨在帮助读者掌握如何在实际项目中高效构建Java EE应用。SSH(Struts 2、Spring、Hibernate)是Java ...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
同时,通过插件(如Spring插件)将Struts2与Spring集成,实现Action的自动注入。 5. 整合Spring和Hibernate:在Action类中,可以声明由Spring管理的Service层对象,这些对象再调用由Hibernate管理的数据访问层对象...
这个项目是一个经典的Java Web应用程序开发案例,采用的技术栈是Struts2、Spring2和Hibernate3,这三大框架组合在一起,可以实现MVC(Model-View-Controller)架构,提供数据持久化、业务逻辑管理和前端交互的能力。...
Struts2、Spring3和Hibernate4是Java Web开发中的三个核心框架,它们分别负责MVC(Model-View-Controller)架构中的控制层、业务层和服务层。本示例结合这三个框架,提供了一种完整的三层架构实现,以提高开发效率和...
【jbpm4整合struts2+spring2.5+hibernate3.3】的集成是企业级应用开发中常见的技术栈组合,旨在利用各框架的优势实现高效、灵活的业务流程管理。jbpm4是一个开源的工作流管理系统,用于定义、执行和管理业务流程。...
Struts2、Spring3和Hibernate4是Java Web开发中的三大框架,它们的组合使用能够构建出功能强大且灵活的企业级应用程序。在这个“Struts2+Spring3+Hibernate4零配置所需全部jar包”中,包含了这三个框架运行所必需的...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用极大地提升了开发效率和项目的可维护性。在本示例中,我们将探讨如何将这三个框架集成在一起,实现一个完整的MVC(模型-视图-控制器)架构。 ...
Struts1、Spring2和Hibernate2是Java Web开发中的三个重要框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个整合例子旨在展示如何将这三个框架协同工作,以构建一个完整的Java Web应用程序。 Struts1是...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...
Struts2、Spring3和Hibernate4是Java Web开发中的三个核心框架,它们分别负责MVC模式中的动作控制、依赖注入和服务层管理以及持久化层的数据操作。这篇博客文章结合这三个框架,探讨了如何构建一个完整的Java Web...
Struts2、Spring3和Hibernate是Java开发领域中三大主流的开源框架,它们分别负责Web层、业务层和数据持久化层的管理。这本"Struts2+Spring3+Hibernate框架技术精讲与整合案例"PDF教程,旨在帮助开发者深入理解和实践...
Struts2、Spring2和Hibernate3是Java Web开发中的经典技术栈,被广泛应用于企业级应用的构建。这个实例结合了这三大框架,提供了一个完整的功能模块,包括用户注册、数据查询、搜索以及分页显示,非常适合初学者进行...
其中,Struts2、Spring与Hibernate作为经典的“SSH”组合(Struts-Spring-Hibernate),在Java Web开发领域占据着重要的地位。本文旨在通过一个简单的登录示例项目,详细介绍如何在Netbeans IDE环境下构建基于Struts...