作为一个刚学习完JavaWeb必要储备知识的人,早已经急不可耐地想要学习运用MVC设计模式的Web框架了。目前Java的三大框架仍然是ssh(Struts、Spring、Hibernate),而struts2对于struts1的一些缺点进行了改进,那么本着了解MVC设计模式和基础web框架学习的目的,开始学习struts2。开发工具IDEA(没有用过Eclipse,但是已经习惯了IDEA,就不改了)。
经过之前Tomcat的学习,现在已经在IDEA中部署好了tomcat服务器。如果你没有部署好,网上一大堆IDEA部署Tomcat的教程,也可以参照本人其他博客中的教程。
大致了解Struts2框架:Struts 2的架构与传统的MVC框架略有不同,因为它由Action扮演模型的角色,而不是控制器,虽然这样会有一些重叠。
上图描述了Struts2 高级系统架构下的模型、视图及控制器。控制器是通过Struts2 分派servlet过滤器以及拦截器进行实现,模型是通过Actions进行实现,而视图则是结果类型和结果的结合。值栈和OGNL提供共同的路线、链接以及与其他组件之间的集成。
除了上述部分,还有许多组件相关的信息。web应用程序组件、Actions组件、拦截器组件、结果组件等等。我们目前只需要大致了解,通过后续代码将会初步学习到该框架的架构。
那么第一步,新建一个Project:
![](https://i-blog.csdnimg.cn/blog_migrate/479c7d8a5ff9f09ce69f4fe50b68b63c.png)
之所以选择Set up library later是因为选择别的的话,lib文件夹的位置不一定是对的。
第二步,将所需jar包添加到lib中:
访问Struts的官网(点击打开链接)下载所需jar包:struts-2.5.16-min-lib.zip 。 解压并将其中的jar包复制到工程的web/WEB-INF/lib目录下,然后不要忘记右键jar包选择添加到库中。完毕之后,所需要的依赖包都已经搞定了。
第三步,创建model、action类:
model类和Action类共同作用web应用的业务逻辑,其中model可以用来与数据库通信等获取数据的操作。我们在src目录下创建一个directory名为model,在该目录下添加一个model类,MessageStore.java:
package model;
public class MessageStore {
private String message;
public MessageStore() {
message = "Welcome to HelloWorld Page.\nHelloWorld!";
}
public String getMessage() {
return message;
}
}
mo