Eclipse创建Struts项目

来源:互联网 发布:网络运营推广公司 编辑:程序博客网 时间:2024/06/04 19:07

Eclipse版本:eclipse-jee-mars-R-win32-x86_64(http://pan.baidu.com/s/1eQ6PSe2)

Struts版本:struts-2.3.24-apps(http://pan.baidu.com/s/1mgMmEUk)

Tomcat版本:apache-tomcat-7.0.63-windows-x64(http://pan.baidu.com/s/1bnmDj4r)


1、确保自己jdk和Tomcat配置正确,可参考http://jingyan.baidu.com/article/870c6fc33e62bcb03fe4be90.html


2、在Eclipse中创建Dynamic Web Project,创建项目时把生成web.xml的选项选上,否则后面自己手动生成,这里创建的项目名为SSHProject。


3、Struts里面有个apps的文件夹,apps文件夹内有一个struts2-blank.war的压缩包,将struts2-blank.war解压得到META-INF、WEB-INF两个文件夹,把struts2-blank/WEB-INF中lib下面的包全部拷贝到新建工程的WEB-INF的lib中。

4、编写struts.xml,放到src目录下,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="tiny" extends="struts-default">
        <action name="register" class="com.tiny.ssh.action.RegisterAction">
            <result name="input">/Register.jsp</result>
            <result name="success">/success.jsp</result>
            <result name="error">/fail.jsp</result>
        </action>
    </package>


</struts>


5、将struts2-blank/WEB-INF中web.xml中的filter和filter-mapping(如下图所示)拷贝到新建工程的web.xml里面的相应位置上。



       最后新建工程的web.xml如下所示,其中welcome-file-list中的Register.jsp是后面我们要写的jsp文件。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SSHProject</display-name>


  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
   </filter>


   <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
   </filter-mapping>


  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>Register.jsp</welcome-file>
  </welcome-file-list>
</web-app>


6、在WebContent下创建Register.jsp文件、fail.jsp文件和success.jsp文件,fail.jsp和success.jsp简单写一点提示页面的信息即可,其中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>


7、在src下创建com.tiny.ssh.beans包,在该包下创建UserForm.java文件,UserForm.java文件内容如下:


package com.tiny.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;
    }


}


8、在src下创建com.tiny.ssh.service包,在该包下创建UserManager.java文件(该类是业务逻辑接口),UserManager.java文件内容如下:


package com.tiny.ssh.service;


import com.tiny.ssh.beans.UserForm;


public interface UserManager {


    public void regUser(UserForm user);


}


9、在src下创建com.tiny.ssh.serviceImp包,在该包下创建UserManagerImpl.java文件(该类是业务逻辑接口),UserManagerImpl.java文件内容如下:


package com.tiny.ssh.serviceImp;


import com.tiny.ssh.beans.UserForm;
import com.tiny.ssh.service.UserManager;


public class UserManagerImpl implements UserManager {


    @Override
    public void regUser(UserForm user) {
        
    }


}


10、在src下创建com.tiny.ssh.action包,在该包下创建RegisterAction.java文件和RegisterAction-validation.xml文件。

RegisterAction.java文件内容如下:


package com.tiny.ssh.action;

import com.opensymphony.xwork2.ActionSupport;
import com.tiny.ssh.beans.UserForm;
import com.tiny.ssh.service.UserManager;
import com.tiny.ssh.serviceImp.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 version="1.0" encoding="GBK"?>
<!-- 版本不一致 选择下面两个的一个 -->
<!-- 
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
 -->
 <!DOCTYPE validators PUBLIC
 "-//Apache Struts//XWork Validator 1.0.2//EN" 
 "http://struts.apache.org/dtds/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="regex"><![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="regex"><![CDATA[(\w{6,16})]]></param>
            <message>密码输入不合法,必须为长度在6~16之间的数字或者字母</message>
        </field-validator>
    </field>
</validators>


11、运行项目,启动Tomcat,在浏览器输入http://localhost:8080/SSHProject/即可查看结果(实际上在eclipse上已经可以查看结果了)


0 0