`
oruja
  • 浏览: 9846 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

教你整合Struts2 + Hibernate

阅读更多
        上周写出来的登录注册,用的是框架版本是Struts2.0.11   Hibernate3.1,开发工具是MyEclipse。
        使用在服务器端验证的方法。
在register.jsp页面中写入以下代码:
<s:form action="register">

		<s:textfield name="username" label="username"></s:textfield>
		
		<s:password name="password" label="password"></s:password>

		<s:submit label="submit" align="center"></s:submit>
</s:form>

在result.jsp页面中加入以下代码:
<s:text name="username:"></s:text>
    <s:property  value="username"/><br>
    <s:text name="password:"></s:text>	
<s:property  value="password"/>

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">
<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>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

在index.jsp页面中加入一行JS或JAVA代码使其自动跳转到home.action
在struts.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 name="struts2" extends="struts-default" namespace="/user">
		<action name="register" class="action.RegisterAction">
				<result name="success">/result.jsp</result>
				<result name="input">/register.jsp</result>
		</action>
		<action name="home" class="action.HomeAction">
				<result name="success">/register.jsp</result>
		</action>
	</package>
</struts>

HomeAction中直接return "success",在RegisterAction中代码如下:
package action;
/*
 * by 
 * tuxiliang
 * http://hi.baidu.com/oruja
 */
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import vo.Person;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

import dao.impl.PersonDAO;



@SuppressWarnings("serial")
public class RegisterAction extends ActionSupport {
	private String username;
	private String password;
	PersonDAO person;
	private List messages = new ArrayList();

	public List getMessages() {
		return messages;
	}
	public void setMessage(List messages) {
		this.messages = messages;
	}
	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;
	}
	
	public String execute()throws Exception
	{
		person = new PersonDAO();
		List list = person.findByName(this.getUsername().trim());
		if(list.isEmpty()){
			Person user = new Person(this.getUsername(),this.getPassword());
			person.save(user);
			ActionContext ctx = ActionContext.getContext();
			Map session = ctx.getSession();
			session.put("username",this.getUsername());
			return "success";
		}
		else {
			this.addFieldError("username", "the username is already registered!");
			return "input";
			}
	}
	@Override
	public void validate() {
		if(null==this.getUsername()||"".equals(this.getUsername().trim())){
			this.addFieldError("username", "username required!");
			
		}
		else 	if(null==this.getPassword()||"".equals(this.getPassword().trim())){
							this.addFieldError("password", "password required!");
						}
		
	}
}

另外还有一个struts.properties的文件,是为了防止报错,网上有解释,有关hibernate的映射文件以及PersonDAO就不贴上来了,相信大家也知道是怎么回事。运行服务器后图示效果见附件。
  • 描述: 未填写用户名
  • 大小: 16.9 KB
  • 描述: 未填写密码
  • 大小: 17.1 KB
  • 描述: 用户名已被注册
  • 大小: 17.3 KB
分享到:
评论
4 楼 Refeng 2008-06-23  
用Token就可以防止重复提交
3 楼 zht5555 2008-04-12  
全部贴上来啊,晕
2 楼 yuan29346 2008-03-17  
怎么用<s:iterator>标签通过POJO生成一个列表啊?
也就是怎么样从ACTION把ITERATOR传到JSP页面上?
1 楼 dearfashion 2008-03-14  
怎么防止重复提交

相关推荐

    基于Struts2+Hibernate5的教务管理系统项目实训

    本项目只是简单模拟教务管理系统的基本功能,通过熟悉的教务管理系统开发来综合训练Struts2和 Hibernate5框架技术的整合应用,并进一步提高项目实践能力。 项目实现的功能包括学生管理部分,教师管理部分和管理员管理...

    spring+struts2+hibernate+mybatis

    一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去

    Java Web整合开发实战:基于Struts 2+Hibernate+Spring(PDF)

    Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...

    struts2+hibernate+freemarker项目实例

    这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起,构建了一个完整的Web应用程序。 **Struts2** 是一个强大的MVC框架,它基于Action和Result的设计模式,负责处理用户的请求,并将其转发到相应...

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    struts2+hibernate一周小项目总结

    struts2+hibernate一周小项目总结

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

    最新项目系统:Struts2+Spring4+Hibernate4三大框架整合

    总的来说,"最新项目系统:Struts2+Spring4+Hibernate4三大框架整合"为学习和实践Java Web开发提供了一个实用的平台,对于提升开发者的技术水平和项目经验具有极大的帮助。通过深入研究和实践,开发者可以掌握Java ...

    基于Struts 2+Hibernate+Spring实现论坛系统

    这个基于Struts 2+Hibernate+Spring实现的论坛系统,充分利用了这些框架的优势,为用户提供了交互性强、数据管理高效的在线讨论平台。 首先,Struts 2 是一个 MVC(Model-View-Controller)框架,它负责处理用户的...

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Spring+Struts2+hibernate+Redis整合

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...

    10.6struts2+hibernate+spring的整合源代码

    在"10.6struts2+hibernate+spring的整合源代码"中,可能会看到Hibernate的实体类(Entity)、映射文件(.hbm.xml)以及SessionFactory的配置。这些文件用于定义模型对象与数据库表之间的关系,并提供CRUD(创建、...

    在线音乐网站(Struts2+hibernate+spring)

    【标题】"在线音乐网站(Struts2+hibernate+spring)" 是一个基于Java技术栈构建的Web应用程序,旨在提供音乐流媒体服务。这个项目整合了三个关键的开源框架:Struts2、Hibernate和Spring,它们在Java Web开发中扮演...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    总的来说,基于Struts2+Spring+Hibernate+MySql的注册登录系统是利用这些技术协同工作,实现了用户注册、登录的基本功能。Struts2处理请求,Spring管理组件和事务,Hibernate负责数据持久化,而MySql存储数据。...

    struts2+hibernate学生综合信息管理系统

    本系统为学生综合信息管理系统,里面有学生信息管理,学生成绩录入,学生密码修改等功能,...struts2+hibernate这个开发的,使用的工具为myeclipse和mysql数据库。 如有任何问题请加QQ:1255148484来提问,有问必答。

    struts2+hibernate+spring整合的管理系统

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们的整合应用在企业级Web应用开发中极为...同时,通过Struts2+Hibernate+Spring的整合,可以有效地提高开发效率,减少重复工作,提升系统的稳定性和可扩展性。

    Struts2+Hibernate+Spring基于单表的增删改查code

    这个“Struts2+Hibernate+Spring基于单表的增删改查code”项目是一个典型的Java Web应用程序示例,用于教学初学者如何在实际开发中运用这三个框架来实现对数据库中单个表的操作。 **Struts2** 是一个MVC(Model-...

    struts2+hibernate3.3图书管理系统

    通过学习这个项目,你可以了解到如何整合Struts2和Hibernate,以及如何设计和实现一个简单的Web应用。它涵盖了配置文件的设置(如struts.xml、hibernate.cfg.xml),Action类的编写,DAO(数据访问对象)层的设计,...

    Struts2+hibernate整合

    1. **Struts2整合Hibernate**:整合过程通常包括配置Struts2的Action类以调用Hibernate的服务,如Session工厂、Session和Transaction。在struts.xml配置文件中,需要定义Action的类名和方法,以及对应的URL映射。...

Global site tag (gtag.js) - Google Analytics