发表于: 2017-11-03 22:13:26

2 918


一.今天完成的主要事情

1.准备小课堂,学习了一下struts2

写了一个小demo

struts2和springmvc一样,也是遵循MVC架构的前端框架,在springmvc之前,struts2是主流框架

但是struts2和springmvc的底层原理不同,struts2的结构是采用了过滤器的设计,所有的请求都由过滤器拦截之后,在找到匹配的action,action执行完之后再将结果一层层返回

首先是web.xml的配置

和springMVC不同,struts不需要配置servlet,而是配置过滤器,用于处理所有请求

接下来就是读取struts.xml文件,该文件是struts的核心配置文件,它链接了model和view两层,充当了controller层的角色

一下是struts.xml配置文件中的一部分,其中hello对应客户端发送过来的请求的名字,class对应处理请求的类,method对应处理请求的方法,result返回处理的结果,而且该结果对应HelloWorld.jsp文件

然后是处理请求的方法

public class HelloWorldController extends ActionSupport {

    private static Logger logger = LogManager.getLogger(HelloWorldController.class);

    private MessageStore messageStore;

    private String userName;

    private static int number = 0;

    private int helloCount;

    public String execute(){

        messageStore = new MessageStore();

        logger.info("----------------------------" + userName);

        if (userName != null) {

            messageStore.setMessage( messageStore.getMessage() + " " + userName);

        }

        helloCount = ++number;

        logger.info("----------------------------" + helloCount);

        return SUCCESS;

    }

    //这个方法不能省,该方法是用于将数据返回给视图层页面,如果没有这个方法,前端页面中看不到数据显示

    public MessageStore getMessageStore() {

        return messageStore;

    }

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    public int getHelloCount() {

        return helloCount;

    }

    public void setHelloCount(int helloCount) {

        this.helloCount = helloCount;

    }

}


这些方法都要集成ActionSupport或者Action类,然后再excute方法中获取数据返回,除此之外,所有需要返回的数据都要作为类中的成员变量,并且使用getter方法,getter方法再后面会用到

然后,就是返回到jsp页面,再jsp页面中要使用struts2标签来进行数据的获取,如下:

标签中定义要返回给前端的数据,而jsp页面数据的获取,都要通过Action类中的getter方法才可以,所以在Action类中的getter方法是必不可少的

二.明天计划完成的事情

1.写一个struts增删改查的demo

2.准备小课堂PPT

3.如果有时间,把项目中还存在的一些小问题再改一下

三.遇到的问题

暂无

四.收获

以上

五.项目进度情况

估计又要延期...


返回列表 返回列表
评论

    分享到