struts2概要(1)

struts2 专栏收录该内容
6 篇文章 0 订阅
J2EE是一系列技术标准所组成的平台,包括:

   Applet - Java Applet

   EJB - 企业级JavaBean(Enterprise Java Beans)

   JAAS - Java Authentication and Authorization Service

   JACC - J2EE Authorization Contract for Containers

   JAF - Java Beans Activation Framework

   JAX-RPC - Java API for XML-Based Remote Procedure Calls

   JAX-WS - Java API for XML Web Services

   JAXM - Java API for XML Messaging

   JAXP - Java XML解析API(Java API for XML Processing)

   JAXR - Java API for XML Registries

   JCA - J2EE连接器架构(J2EE ConnectorArchitecture)

   JDBC - Java数据库联接(JavaDatabase Connectivity)

   JMS - Java消息服务(Java MessageService)

   JMX - Java Management

   JNDI - Java名称与目录接口(JavaNaming and Directory Interface)

   JSF - Java Server Faces

   JSP - Java服务器页面(Java Server Pages)

   JSTL - Java服务器页面标准标签库(JavaServer Pages Standard Tag Library)

   JTA - Java事务API(Java Transaction API)

   JavaMail

   Servlet - Java Servlet API

   StAX - Streaming APIs for XML Parsers

   WS - Web Services

struts2由webwork演变而来。

Model1模式:

Jsp接受处理用户请求,对请求处理后作出相应。使用javabean来出来数据库连接,数据库访问等操作。

Model2:

Jsp请求与servlet交互,servlet负责与javabean通信,model—javabean、view—jsp、controller—servlet

MVC优势:

1、  一个模型可以对应多个视图,减少代码量及代码维护量

2、  模型与显示分离,可以采用多种视图显示技术:jsp、velocity、excel….

3、  分为三层,降低了模块之间的耦合

4、  控制层可以将多个视图和多个模型组合在一起,完成不同的请求。

Structs1MVC

1)Model:封装了底层数据库访问,业务逻辑方法实现。一个成熟的企业级应用,model不是一个简单的javabean能实现的,可能是一个或多个EJB组件或者web service服务等。

2)View struts1只支持jsp

3)Controller:

1、  ActionServlet

2、  用户自己的Action实例。

Struts1缺陷:

1、  表现层实现方式单一

2、  对servlet api依赖严重,属于侵入式设计

 

Struts2框架架构:

以业务逻辑控制器为目标,创建一个控制器代理,对请求消息进行拦截。

1、  用户发送请求,如xxx.action、xxx.pdf等,核心控制器FilterDispatcher根据请求决定调用合适的action

2、  Webwork的拦截器链对请求进行拦截

3、  回调Action 的execute方法,采用不同的表现层技术响应请求。

 

Struts2的配置文件

1、  struts.xml

2、  struts.properties

 

struts2的控制器组件:

1、  FilterDispatcher

2、  业务控制器Action(实际上起作用的业务控制器不是用户定义的Action,而是Action代理,该代理以用户Action为目标)

 

Struts2与struts1的对比:

1、  Action实现类对比:struts1需要继承一个抽象的基类,struts2只是一个具有execute方法的POJO

2、  Struts1的Action是单例而且必须是线程安全的,struts2为每个请求创建一个Action,么有线程安全的问题。

3、  Struts1对servlet api依赖严重,struts2可以访问servlet api但不依赖。

4、  Struts1使用ActionForm来封装用户请求的参数,struts2直接使用Action的属性封装,struts2使用ModelDriven模式,让开发者使用单独的model来封装用户参数

5、  表达式语言:struts1整合了JSTL,struts2也整合了JSTL,也可以使用更强大的OGNL表达式

6、  Struts1使用标准的jsp机制把对象绑定到视图页面,struts2使用了“ValueStack”技术
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

dcsoft_nick

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值