Struts2
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
基于Struts2 最新版本 2.5.14.1 搭建一个基本环境
引入lib
asm-5.2.jar
asm-commons-5.2.jar
asm-tree-5.2.jar
commons-fileupload-1.3.3.jar
commons-io-2.5.jar
commons-lang-2.4.jar
commons-lang3-3.6.jar
freemarker-2.3.26-incubating.jar
javassist-3.20.0-GA.jar
log4j-api-2.9.1.jar
ognl-3.1.15.jar
struts2-convention-plugin-2.5.14.1.jar
struts2-core-2.5.14.1.jar
struts2-json-plugin-2.5.14.1.jar
修改web.xml
<?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>Struts2-Demo</display-name>
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.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-list>
</web-app>
新增struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="base" extends="json-default,struts-default"></package>
</struts>
action–基于注解,快速开发
接收请求参数,并跳转页面,将值传递给页面
接收请求返回json格式数据
@ParentPackage("base")
@Namespace("/A")
public class Aaction extends ActionSupport {
private static final long serialVersionUID = 1L;
@Action(value = "show", results = { @Result(name = "success", location = "/A.jsp") })
public String showPage() {
msg = StringUtils.isEmpty(msg) ? "haha" : msg;
return SUCCESS;
}
@Action(value = "json", results = { @Result(name = "getJson", type = "json", params = { "root", "jsonMap" }) })
public String getJson() {
jsonMap=new HashMap<>();
jsonMap.put("a", "hahah");
jsonMap.put("b", 123);
return "getJson";
}
private Map<String, Object> jsonMap;
public Map<String, Object> getJsonMap() {
return jsonMap;
}
public void setJsonMap(Map<String, Object> jsonMap) {
this.jsonMap = jsonMap;
}
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
测试
访问 http://127.0.0.1:8080/Struts2-Demo/A/show?msg=123
访问 http://127.0.0.1:8080/Struts2-Demo/A/json
项目源码下载: 点击下载源码