Java-Web进阶系列(一)--Struts2

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

项目源码下载: 点击下载源码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值