1.上http://struts.apache.org/ 下载Struct2

  2.解压缩,将lib文件夹内的部分JAR复制到java web应用的WEB-INF/lib目录下。所需JAR:

  • commons-fileupload-x.y.z.jar

  • commons-io-x.y.z.jar

  • commons-lang-x.y.jar

  • commons-logging-x.y.z.jar

  • commons-logging-api-x.y.jar

  • freemarker-x.y.z.jar

  • javassist-.xy.z.GA

  • ognl-x.y.z.jar

  • struts2-core-x.y.z.jar

  • xwork-core.x.y.z.jar

  3.在WEB-INF下的web.xml(如果没有,就自己创建)输入以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="3.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <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>
</web-app>

  4.创建一个login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!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>stuct2应用</title>
</head>
<body>
<form action="login.action" method="post">
<table>
    <tr>
        <td>用户名:</td>
        <td><input type="text" name="userName"></td>
    </tr>
    <tr>
        <td>密码:</td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td colspan="2">
            <input type="submit" value="登陆">
        </td>
    </tr>
</table>
</form>
</body>
</html>

  5.在java Resources/src目录下创建一个package,叫myWeb(名字随你喜欢),在该package下创建一个类LoginAction.java

package myWeb;

public class LoginAction {
    private String userName;
    private String password;

    public String execute() {
        if(getUserName().equals("kaima") && getPassword().equals("asd"))
            return "success";
        else
            return "error";
    }

    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;
    }
}

  6.配置Action

  在WEB-INFO下创建一个名为classes的目录,在该目录下创建一个structs.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>
   <package name="myStruct" extends="struts-default">
      <action name="login" class="myWeb.LoginAction">
            <result name="success">/welcome.jsp</result>
            <result name="error">/error.jsp</result>
      </action>
   </package>
</struts>

  7.完善

  创建welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
<h1>welcome</h1>
</body>
</html>

  创建error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
<h2>error</h2>
</body>
</html>

  到这里,一个structs应用就完成了,如下所示:

  PS.在构建structs2时,有时会遇到HTTP Status 404问题,这时需要重启服务器。原因是什么得在学习structs2的过程中找了。

最新文章

  1. 虾扯蛋:Android View动画 Animation不完全解析
  2. JQuery UI dialog 弹窗实例及参数说明
  3. initWithCoder与initWithFrame的区别
  4. ABP之模块分析
  5. 用3D再现2D偶像的可爱,Cygames【偶像大师 灰姑娘女孩】开发示例
  6. Linq和Lamda表达式的简单处理方式
  7. python 2016 大会 pyconsk ppt ---python dtrace
  8. Linux下一个Redis启动/关闭/重新启动服务脚本
  9. Swift字符串常用操作总结
  10. &lt;.net&gt;委托初探
  11. Number Sequence(kmp)
  12. MySQL视图更新
  13. 逻辑回归为什么用sigmoid函数
  14. init_ir_技术实现篇
  15. ARDUINO 中断
  16. 第三篇 功能实现(2) (Android学习笔记)
  17. jquery批量控制表单元素
  18. Code Chef JUMP(递推+树状数组+李超线段树)
  19. C#读取MP3文件的专辑图片和ID3V2Tag信息(带代码)
  20. Linux基础入门 第一章:Linux环境搭建——Redhat 6.4图文安装教程

热门文章

  1. [HTTP那些事]网络请求API
  2. http://www.blogjava.net/zhangchao/archive/2011/05/26/351051.html
  3. Android App 性能优化实践
  4. Codeforces Round #346 (Div. 2)
  5. Servlet 获取 ApplicationContext
  6. # asp.net core 1.0 项目结构
  7. HTML5拖放事件(Drag-and-Drop,DnD)
  8. 安装SQL2008 提示 创建usersettings/microsoft.sqlserver.configuration.landingpage.properties.se
  9. ural 2073. Log Files
  10. BZOJ3615 : MSS