1.create web project struts2_demo , add following jars:
freemarker-2.3.8.jar;
ognl-2.6.11.jar;
struts2-core-2.0.14.jar;
xwork-2.0.7.jar;
commons-io-1.3.2.jar;
commons-logging-1.0.4.jar;
commons-fileupload-1.2.jar;
- asm-x.x.jar:官方说要加,但我不加也行
- asm-commons-x.x.jar:官方说要加,但我不加也行
- asm-tree-x.x.jar:官方说要加,但我不加也行
- Struts2-core-2.x.x.jar:Struts2框架的核心类库;
- xwork-2.x.x.jar :xwork类库,Struts2是在其之上构建的;
- ognl-2.6.x.jar:对象图导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象属性;
- freemarker-2.2.x.jar:Struts2的UI标签的模板使用freemarker编写;
- commons-fileupload-1.2.1.jar:文件上传组件, 2.1.6版本后必须加入文件;
- javassist-3.11.0.GA.jar:Javassist是一个开源的分析、编辑和创建Java字节码的类库;
- commons-io-2.0.1.jar:IO输入输出流组件,主要完成文件的读写功能;
- commons-lang3-3.1.jar:commons-lang是一个很有用的开源包,它弥补了Java API在提供的基本处理方法上的不足;
- commons-lang3-X.X.X.jar: as from version 2.3.3 Struts 2 bases on Commons Lang 3, but there are still external dependencies that base on Commons Lang.
- commons-logging-1.1.x.jar:ASF出品的日志包,Struts2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录(如果不想显示日志的话,不需要导入)。
2. create web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns=""
xmlns:xsi=""
xsi:schemaLocation="">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3. create struts.xml under src folder;
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"">
<struts>
<constant name="struts.custom.i18n.resources" value="message" />
<package name="struts2" extends="struts-default" namespace="/">
<action name="login" class="com.test.action.LoginAction">
<result name="success" >/result.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>
</struts>
4.create page login.jsp under web folder
<%@ 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" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>login page</title>
</head>
<body>
<s:form action="login.action" method="post">
<s:textfield label="username" name="username" />
<s:password label="password" name="password" />
<s:submit label="submit" />
</s:form>
</body>
</html>
5.create page result.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" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>result page</title>
</head>
<body>
welcome : <s:property value="username"/>
</form>
</body>
</html>
6.create LoginAction.java
package com.test.action;
public class LoginAction {
private String username;
private String password;
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 String execute(){
return "success";
}
}