struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说struts2是struts1和Webwork结合的产物。
Struts2软件特性
软件基础简介
Struts2是一个基于MVC设计模式的Web应用框架,Struts 2是Struts的下一代产品,是在struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。我们可以直接通过Struts2完整版来建立模型,同时还可以用来进行视图的数据交互。
Struts2漏洞利用工具下载Struts2漏洞检查工具2018版(S2-045/S2-057)v2.0最新绿色版(含POC和修复补丁包)
软件特性
1、在Action的实现方面
Struts1要求必须统一扩展自Action类,而Struts2中可以是一个POJO。
2、线程模型方面
Struts1的Action是单实例的,一个Action的实例处理所有的请求。Struts 2的Action是一个请求对应一个实例(每次请求时都新new出一个对象),没有线程安全方面的问题。
3、Servlet依赖方面
Struts1的Action依赖于Servlet API,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于Servlet API,有利于测试,并且实现TDD。
4、封装请求参数
Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。
5、表达式语言方面
Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(Object Graph NavigationLanguage)。
6、绑定值到视图技术
Struts1使用标准的JSP,Struts2使用“ValueStack”技术。
7、类型转换
Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。
Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。
8、Action执行控制的对比
Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。
安装步骤
下载struts2,需要用到的是full distribution,根据需要也可以下载诸如文档doc和源代码source等。
安装tomcat或其他服务器,安装Eclipse或其他JAVA编译环境,将Struts2解压并记录下解压的路径。
在MyEclipse中配置服务器,此处以tomcat为例,进入MyEclipse,工具栏中选择windows,然后选择preference,然后选择MyEclipse->Servers->Tomcat,然后选择对应的Tomcat版本你你对应的安装地址。
在MyEclipse中配置jdk,依次选择window–>preferences–>java–>installed jres,如果没有对应的JDK(不是JRE),选择add,选择standard VM->next,选择JDK对应的Directory。
建立Struts2程序,首先找到struts目录下对应的apps目录,解压struts2-blank-2.1.6.war,Copy对应的lib的jar文件,需要除junit和spring-test之外的所有文件,其中commons-io的jar包会在文件上传和下载时需要,其他为必须。在struts.xml中照原配置根据自己的需要进行对应的配置。