Struts2学习笔记2--使用maven搭建Struts2开发环境

1 使用eclipse新建一个maven工程

1.1 在Project Explorer视图下,右键》New》Project。

1.2 在弹出新建工程页面,展开Maven,选择Maven Project,单击“Next”。

1.3 在新建Maven工程页面,单击“Next”。

1.4 Catalog栏下拉选择"All Catalogs",选择maven-archetype-webapp,单击"Next"。

1.5 填写Group Id、Artifact Id、Package,选择Version,单击"Finish"

2.添加maven依赖

2.1选中工程的pom.xml文件,右键,Maven,Add Dependency。

2.2 在添加依赖页面,输入struts2-core,选择版本为2.3.16,单击"OK",然后用同样的方式添加xwork-core和javassist。

2.3 添加完依赖之后的pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zy</groupId>
  <artifactId>struts2</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>struts2 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.3.16</version>
    </dependency>
    <dependency>
        <groupId>org.apache.struts.xwork</groupId>
        <artifactId>xwork-core</artifactId>
        <version>2.3.16</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.11.0.GA</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>struts2</finalName>
  </build>
</project>
pom.xml

3. 配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="struts2" 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>Struts Blank</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.jsp</welcome-file>
    </welcome-file-list>
</web-app>
web.xml

4. 配置struts.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <!-- Add packages here -->
</struts>
struts.xml

5. 加入测试框架是否搭建成功的测试代码

5.1 在工程中添加src/main/java的文件夹,添加com.zy.bean和com.zy.action包,在com.zy.bean包中新增User类,在com.zy.action包中添加UserAction类。

package com.zy.bean;

/**
 * 用户类
 */
public class User {
    private String name;    //用户名
    private String pass;    //密码
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPass() {
        return pass;
    }
    public void setPass(String pass) {
        this.pass = pass;
    }
}
User.java

 

package com.zy.action;

import com.opensymphony.xwork2.ActionSupport;
import com.zy.bean.User;

/**
 * 用户Action类
 */
public class UserAction extends ActionSupport{
    private static final long serialVersionUID = 1L;
    private User user;    //用户
    private String msg;    //提示信息    
    
    @Override
    public String execute() throws Exception {
        if("zy".equals(user.getName()) && "zy".equals(user.getPass())){
            msg = "welcome, " + user.getName();
        }else{
            msg = "Invalid name or pass";
        }
        return SUCCESS;
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
}
UserAction.java

5.2 在/webapp下新建login.jsp,在/webapp/pages/user下新建loginResult.jsp文件

<%@ page contentType="text/html; charset=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>login page</title>
</head>
<body>
    <s:form action="/mystruts/login.action" method="post">
        <s:textfield name="user.name" label="账号"></s:textfield><br />
        <s:password name="user.pass" label="密码"></s:password><br />
        <s:submit value="登陆"></s:submit>
    </s:form>
</body>
</html>
login.jsp
<%@ page contentType="text/html; charset=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>响应信息</title>
</head>
<body>
   <s:property value="msg" />
</body>
</html>
loginResult.jsp

5.3 修改struts.xml文件,添加对应的Action信息

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="struts2" namespace="/mystruts" extends="struts-default">
        <action name="login" class="com.zy.action.UserAction">
            <result name="success">/pages/user/loginResult.jsp</result>
        </action>
    </package>
    <!-- Add packages here -->
</struts>
struts.xml

 5.4 完成之后整个工程的结构截图

5.5 将工程部署在Tomcat服务器下,在浏览器地址栏输入http://localhost:8081/struts2/login.jsp访问

5.6登陆成功和失败的效果

posted on 2014-11-24 20:21  巧天工  阅读(472)  评论(0编辑  收藏  举报

导航