Struts2《一》

Struts1的核心控制器就是Servlet,随着功能的迭代,弊端开始出现。Struts2与Struts1差别很大,因为Struts2采用的是WebWork核心设计。Struts2采用大量的拦截器处理用户请求,从而允许业务逻辑控制器与Servlet API分离。
Struts2在MVC三层架构中的位置,只是表现层的解决方案,与业务层和持久层没有关系

环境配置

从struts官网下载最新的struts的jar包,从example项目中解压struts-blank的war包拷贝所需要的一些jar。

在web.xml中配置过滤器

<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

注意:自2.1.3版本开始,ActionContextCleanUp和FilterDispatcher都由StrutsPrepareAndExecuteFilter代替。

配置struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="main"  extends="struts-default">
		<action name="helloAction" class="action.HelloAction" method="sayHello">
			<result name="success">welcome.jsp</result>
		</action>
	</package>
</struts>

Struts2处理流程

  • 浏览器发送action请求
  • 核心控制器FilterDispatcher根据请求决定调用合适的Action
  • WebWork的拦截器自动请求应用通用功能,例如workflow,validation或文件上传等功能
  • 回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以将数据保存至数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器他会调用业务逻辑组件来处理用户的请求。
  • Action的execute方法处理结果信息将被输出到浏览器中,可以是Html页面、图像,也可以说pdf文档或其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。

Struts2标签

在JSP页面我们可以通过

<%@ taglib prefix="s" uri="/struts-tags" %>

导入Struts2标签库,和JSTL标签库类似。

  • form:对应一个表单元素。
  • checkbox:对应一个复选框元素。
  • password:对应一个密码输入框。
  • radio:对应一个单选框元素。
  • reset:对应一个重设按钮。
  • select:对应一个下拉列表框。
  • submit:对应一个提交按钮。
  • textarea:对应一个多行文本域。
  • textfield:对应一个单行文本框。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值