发表于: 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.如果有时间,把项目中还存在的一些小问题再改一下
三.遇到的问题
暂无
四.收获
以上
五.项目进度情况
估计又要延期...
评论