SSH之Struts(三)

来源:互联网 发布:苹果修复微信闪退软件 编辑:程序博客网 时间:2024/05/10 04:16

创建Struts项目

创建工程

  1. 在Eclipse中创建一个Dynamic Web Project,本文项目名称为SSHProject。
  2. 把Struts内apps文件夹下的struts2-blank war包用压缩工具解压,然后把WEB-INF/lib内的jar包和WEB-INF下的web.xml文件分别复制到SSHProject项目下的WEB-INF/lib内和WEB-INF下。
  3. 在src目录下创建相应package。
  4. 在WebContent下创建Register.jsp文件,并分别创建注册成功和注册失败的Success.jsp和Fail.jsp。

操作完成后的结构如图所示:

编写代码

web.xml的内容。
<?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
原创粉丝点击