SSH之Struts(三)
来源:互联网 发布:苹果修复微信闪退软件 编辑:程序博客网 时间:2024/05/10 04:16
创建Struts项目
创建工程
- 在Eclipse中创建一个Dynamic Web Project,本文项目名称为SSHProject。
- 把Struts内apps文件夹下的struts2-blank war包用压缩工具解压,然后把WEB-INF/lib内的jar包和WEB-INF下的web.xml文件分别复制到SSHProject项目下的WEB-INF/lib内和WEB-INF下。
- 在src目录下创建相应package。
- 在WebContent下创建Register.jsp文件,并分别创建注册成功和注册失败的Success.jsp和Fail.jsp。
操作完成后的结构如图所示:
编写代码
web.xml的内容。
Register.jsp的内容
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" 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"> <display-name>SSH Project</display-name> <filter> <filter-name>SSH</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>SSH</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
Register.jsp的内容
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!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=UTF-8"> <title>User Register Page</title> </head> <body> <s:form action="register"> <s:textfield name="user.username" label="用户名"></s:textfield> <s:password name="user.password" label="密码"></s:password> <s:select list="#{'1':'男','0':'女'}" listKey="key" listValue="value" name="user.gender" label="性别" value="1"></s:select> <s:submit value="注册"></s:submit> </s:form> </body> </html>
用户表单类UserForm.java的内容。
package com.ynwi.ssh.beans; public class UserForm { private String username; private String password; private int gender; 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 int getGender() { return gender; } public void setGender(int gender) { this.gender = gender; } }
注册Action类RegisterAction.java的内容。
package com.ynwi.ssh.action; import com.opensymphony.xwork2.ActionSupport; import com.ynwi.ssh.beans.UserForm; import com.ynwi.ssh.service.UserManager; import com.ynwi.ssh.serviceImpl.UserManagerImpl; public class RegisterAction extends ActionSupport { private static final long serialVersionUID = 1L; private UserForm user; private UserManager userManager; public UserForm getUser() { return user; } public void setUser(UserForm user) { this.user = user; } public UserManager getUserManager() { return userManager; } public void setUserManager(UserManager userManager) { this.userManager = userManager; } public String execute() { try { this.setUserManager(new UserManagerImpl()); userManager.regUser(user); return SUCCESS; } catch (Exception e) { e.printStackTrace(); return ERROR; } } }
验证文件RegisterAction-validation.xml的内容。该xml文件为RegisterAction的验证文件,命名格式固定,为< ActionName >-validation.xml。
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <!-- 添加对用户名的校验 --> <field name="user.username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名不能为空</message> </field-validator> <field-validator type="regex"> <param name="expression"><![CDATA[(\w{6,16})]]></param> <message>用户名输入不合法,必须为长度在6~16中间的数字或字母</message> </field-validator> </field> <!-- 添加对密码的校验 --> <field name="user.password"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>密码不能为空</message> </field-validator> <field-validator type="regex"> <param name="expression"><![CDATA[(\w{6,16})]]></param> <message>密码输入不合法,必须为长度在6~16之间的数字或者字母</message> </field-validator> </field> </validators>
业务逻辑接口UserManaer.java的内容。
package com.ynwi.ssh.service; import com.ynwi.ssh.beans.UserForm; public interface UserManager { public void regUser(UserForm user); }
业务逻辑实现类UserManagerImpl.java的内容
package com.ynwi.ssh.serviceImpl; import com.ynwi.ssh.beans.UserForm; import com.ynwi.ssh.service.UserManager; public class UserManagerImpl implements UserManager { @Override public void regUser(UserForm user) { } }
配置文件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> <include file="struts-default.xml" /> <package name="ynwi" extends="struts-default"> <action name="register" class="com.ynwi.ssh.action.RegisterAction"> <result name="input">/Register.jsp</result> <result name="success">/Success.jsp</result> <result name="error">/Fail.jsp</result> </action> </package> </struts>
0 0
- SSH之Struts(三)
- ssh之struts学习笔记(三)输入校验
- SSH+Android之Struts
- SSH之Struts(一)
- SSH之Struts(二)
- SSH--之Struts分析
- 【SSH】之 Struts
- SSH之Struts 2
- ssh之struts第一篇:struts国际化
- SSH-Struts(三)—ActionForm
- 自学SSH框架之---struts(三):源码分析struts1如何实现Action单例模式
- Spring beans——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列三
- SSH之内部Struts与Springxml配置
- SSH之struts—如何实现MVC
- SSH之struts2的配置文件 struts.xml
- SSH框架分析之struts深入分析
- 毕设笔记--SSH 之Struts管理
- SSH之开发struts组件(实践)
- 网络摄像机—什么是GOP
- 第一个c++程序:计算两个数的和
- 关于网络编程知识的了解应用
- Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be
- 黑马程序员-OC学习笔记-----方法
- SSH之Struts(三)
- Python程序员培训计划
- 异步处理大师 Handler
- 编程思想
- shell中的信号处理
- UI-获取IOS屏幕大小
- Spring4 MVC简单例子
- java 彻底理解 byte char short int float long double
- 命令备忘