Struts2学习笔记一 简介及入门程序

Struts2是一个基于MVC设计模式的web应用框架,它本质上相当于一个Sevlet。是Struts1的下一代产品,是在structs1和WebWork技术的基础上进行合并后的全新框架(WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架,他也是一个MVC框架)。

虽然Struts的名字与Struts1相似,但其设计思想却有很大的不同。实质上,Struts2是以WebWork为核心的,它采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器与ServletAPI完全脱离开,所以Structs可以理解为WebWork的更新产品。

Struts拥有优良的设计和功能,其优势具体如下:

  1. 项目开源,使用及扩展方便,天生优势。
  2. 提供Exception处理机制。
  3. Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转。
  4. 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易。
  5. 提供简单、统一的表达式语言来访问所有可访问的数据。
  6. 提供标准、强大的验证框架和国际化框架。
  7. 提供强大的、可以有效减少页面代码的标签。
  8. 提供良好的ajax支持。
  9. 拥有简单的插件,只需放入相应的jar包,任何人都可以扩展Struts2框架,比如自定义拦截器、自定义结果类型、自定义标签等,为Structs2定制需要的功能,不需要什么特殊配置,并且可以发布给其他人使用。
  10. 拥有智能的默认设置,不需要另外进行繁琐的设置。使得默认设置就可以完成大多数项目程序开发所需要的功能。

常见的Web层框架

  1. Struts2
  2. WebWork
  3. SpringMVC

web层框架都会有一个特点,就是基于前端控制器模式实现的。传统方式的开发,有一次请求就会对应一个Servlet,这样会导致出现很多Servlet。而Struts2将所有的请求都先经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下具体操作要提交到具体的Action中。前端控制器本质就是过滤器,因为需要所有的请求都可以被过滤器拦截,然后在过滤器中实现部分的功能。

Struts2快速入门

1、下载Structs2的开发包,官网:http://struts.apache.org/

2、解压Struts2的开发包:

  • apps:该文件夹存用于存放官网提供的Structs2示例程序。war文件可通过zip方式进行解压。
  • docs:该文件夹用于存放官网提供的Struts2文档,包括Struts2的快速入门、Struts2的文档,以及API文档等内容。
  • lib:该文件夹用于存放Struts2的核心类库,以及Struts2的第三方插件类库。
  • src:该文件夹用于存放该版本Struts2框架对应的源代码。

3、使用IDEA,创建一个Struts项目。并导包。我是在之前Hibernate项目的基础上创建的,所以我建的是Module。

输入模块名称,点击完成。

进入刚才解压目录下的apps(示例程序),找到blank,并解压,如下所示:

解压后进入web_Inf下,选择lib目录,复制到我们项目的WEB_INF下

然后,做如下操作,我们才能在项目中使用包。

然后点击OK——>Apply——>OK即可

 4、在src下写一个HelloAction类,编写如下代码:

5、完成Action的配置,并创建一个hello.jsp。

6、在web.xml中配置核心过滤器

7、测试。部署到tomcat。

Apply——>OK,Apply——>OK 即可。

由于我有多个项目,会报错:

解决办法是把其他项目的发布路径修改成不一样的就行:

运行结果如下:

原文地址:https://www.cnblogs.com/ginb/p/7284022.html