当前位置: 首页 > news >正文

网络域名ip查询/aso应用商店优化

网络域名ip查询,aso应用商店优化,网站备案号 如何添加,汽车专业网站使用 Spring 管理 Struts 的 Action可以充分利用Spring 的 Ioe 功能,使 Action 无须关心业务逻辑组件的实现,而由 Spring 负责为 Action注入业务逻辑组件引用,从而实现更好地解祸。 为了让 Struts 将请求转发到 Spring 容器内的 bean&#xf…

  使用 Spring 管理 Struts 的 Action可以充分利用Spring 的 Ioe 功能,使 Action 无须关心业务逻辑组件的实现,而由 Spring 负责为 Action注入业务逻辑组件引用,从而实现更好地解祸。

  为了让 Struts 将请求转发到 Spring 容器内的 bean,系统将采用 DelegatingRequestProcessor 的整合策略。因为这种策略无需 Struts 创建 Action 实例,直接由 Spring 容器负责创建 Action 实例,并为其注入依赖关系。使系统更早将请求转发给 Spring 容器控制。采用这种整合策略,必须在 struts-config.xrnl 文件中配置 controller 元素,并通过指定 processorClass 属性指定 DelegatingRequestProcessor 处理器。即在配置文件中增加如下代码:

<controller inputForward="true"processorClass="org.
springfrarnework.web.struts.DelegatingRequestProcessor"/>

  经过这个简单的配置,则无须为struts-config.xrnl中的 Action配置 class属性,因为Struts无须负责创建Action实例,由DelegatingRequestProcessor直接将请求转发到Spring容器内。

下面是struts-config.xrnl文件中 Action的配置代码:

 

<!--添加消息评论…>
<action path="/addNewsReview"name="
addNewsReviewForm"scope="request"validate="true"
input="i口put">
<forward narne="failure"path=刷 /loadNewsReviewByNews.do"/>
<forward name="success" path="/loadNewsReviewByNews.do"/>
<faction>

  在上面的配置代码中,没有为action 元素确定 class 属性,只有当采用DelegatingRequestProcessor代替了默认的RequestProcessor后,才允许这样配置。

DelegatingRequestProcessor转发请求时,请求被转发给Spring容器中同名的bean处理,因此必须在Spring容器中配置同名的bean。对于上面Action的配置,必须在Spring容器中配置如下的bean:

<bean name="/addNewsReview" class="org.
yeeku.action.AddReviewAction">
<property name="mgr" ref="facadeManager"/>
</bean>


  下面是整个应用struts-config.xrnl配置文件的源代码:

 

<?xml version="l.O" encoding="GBK"?><!--Struts配置文件的文件头,包含DTD等信息>
<!DOCTYPE struts-configPUBLiC
O-//Apache Software Foundation//DTD Struts Configuration
1.2//EN""http://struts.apache.org/dtds/struts-config_l_2.dtd">
<!--Struts配置文件的根元素-->
<struts-config>
<!--在 form-beans元素里配置所有的ActionForm-->
<form-beans>
<!--配置登录所使用的Form-->
<form-beanname="loginForm"type="org.apache.struts.validator.
DynaValidatorForm">
<l一配置 loginForm的两个属性><form-property name="user"
type="java.lang.String" /><form-property name="pass"
type="java.lang.String" /></form-bean><!添加消息所用的Form-->
<form-bean name="addNewsForm" type="org.apache.struts.validator.
乌'naValidatorForm">
<!--配置 addNewsForm的三属性-->
<form-property name="title" type="java.lang.String"
/><form-property name="content" type="java.lang.String" />
<form-propertyname="categoryid"type="java.lang.String" />
</form-bean><l…添加消息评论所用的 Form-->
<form-bean name="addNewsReviewForm" type="org.apache.struts.
validator.乌'naValidatorForm">
<!--配置 addNewsReviewForm 的两个属性…〉
<form-property name="content" type="java.lang.String"
/><form-property name="newsld" type="java.lang.String"/>
</form-bean>
</form-bean/〉
<!--配置所有的Action映射--〉
<action-mappings>
<!--处理登录--〉
<action path="/processLogin"
name="loginForm"
scope="request"validate="true"
~nput="input">
<forward name="input" path="/index.jsp" /><forward
name="success" path="/listCate.do" />
<faction><!-登出系统--〉
<action path="/logout" scope="request"><forward
name="success" path="/index.jsp"/><faction>
<!--进入主页面--〉
<action path="/listCate" scope="request"><forward
name="success" path="/main.jsp"/><faction><!根据种类加载所有消息 --〉
<action path="/loadNewsByCategory" scope="request">
<forward name="failure" path="/listCate.do"/><forward
name="success" path="/category_view.jsp"/><faction><!添加消息 -->
<action path="/addNews"name="addNewsForm"scope=//request"
validate="true"
~nput="input">
<forward name="failure" path="/loadNewsByCategory.do"/>
<forward name="success" path="/loadNewsByCategory.do"/>
<faction>
<!--根据消息 id加载所有评论->
<actionpath="/loadNewsReviewByNews"scope="request">
<forward name="success" path="/news_view.jsp"/>
<faction>
<!--添加消息评论--〉
<action path="/addNewsReview"
name="addNewsReviewForm"
scope="request"
validate="true"
input="input">
<forward name="failure" path="/loadNewsReviewByNews.do"/>
<forward name="success" path="/loadNewsReviewByNews.do"/>
<faction>
<faction-mappings>
<!--配置控制属性-->
<controller inputForward="true"
processorClass="org.springframework.web.struts.DelegatingRequest
Processor"/><!配置国际化的消息资源-->
<message-resources parameter="resource"/>
<!-- 配置数据校验的框架--〉
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"value="/WEB-INF/validator-rules.刀口1 ,
/WEB-INF/validation.泪nl"/>
<set-property property="stopOnFirstError"value=町 true"/>
</plug-in><!-配置用于Spring整合的插件框架--〉
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/
daoContext.xml,
/WEB-INF/applicationContext.xml,
/WEB-INF/action-Servlet.xml"/> '
</plug-in>
</struts-config>

 

  这个配置文件与Struts 基本的配置文件并没有太多的不同,区别在于该配置文件的action 元素没有 class 属性,以及使用 DelegatingRequestProcessor 代替了系统默认的RequestProcessor。

  注意:虽然action元素没有确定class属性,但也允许指定class属性,只是不会有任何作用。

  Spring对 Action 的配置采用单独的文件配置action-Servlet.xml,该文件中配置了所有的 Actionbean。

  因为所有的Action都需要为其注入业务逻辑组件,所以此处采用继承简化了Actionbean的配置。具体的配置文件代码如下:

 

<?xml version="l.O" encoding="GBK"?>
<!-- Spring配置文件的文件头,包含DTD等信息--〉
<lDOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""
http://www.springframework.org/dtd/spring-beans.dtd">
<!--Spring配置文件的根元素>
<beans>
<!--配置 Action模板,用于被其他Action继承>
<bean id="actionTemplate" abstract="true"
singleton="false"><property name="mgr" ref="facadeManager"/></bean>
<!--处理登录--〉
<bean name="/processLogin" class="org.yeeku.action.LoginAction"
parent="actionTemplate"/>
<!--登出系统〉
<bean name="/logout"class="org.yeeku.action.Logout"/>
<'列出所有的消息分类--〉
<bean name="/listCate"class="org.yeeku.action.ListCate"
parent="actionTemplate"/>
<!-- 根据种类列出所有消息--><bean name="/loadNewsByCategory"
class="org.yeeku.action.LoadNewsByCategory"parent="actionTemplate"/>
<!添加消息--〉
<beanname="/addNews" class="org.yeeku.action.
AddNewsAction"parent="actionTemplate"/>
<!-- 根据消息查看所有的评论><bean name="/
loadNewsReviewByNews" class="org.yeeku.action.LoadReviews
ByNews"parent="actionTemplate"/><1-添加消息评论>
<bean name="/addNewsReview" class="org.yeeku.action.AddReviewAction"
parent="actionTemplate"/>
</beans>


  至此,已经基本完成了Struts与 Spring 的整合。当ActionServlet拦截到用户请求时,则调用 DelegatingRequestProcessor,该处理器将请求转发到Spring容器中的bean,由该bean负责调用业务逻辑组件处理用户请求,井将处理结果呈现给用户。

转载于:https://www.cnblogs.com/sailormoon/archive/2012/12/06/2805711.html

http://www.jmfq.cn/news/4796605.html

相关文章:

  • 学php网站开发好吗/网站开发的流程
  • 广州 深圳 外贸网站建设/网络营销推广策划案例
  • 邵阳邵东网站建设/小说网站排名前十
  • 企业宣传网站案例/优化大师好用吗
  • 网站建设走无形资产/完整企业网站模板
  • 怎么在云主机上做网站/北京seo公司司
  • 怎么做私服发布网站/怎么做个人网页
  • 网站设计维护合同/免费seo视频教程
  • 网站设置手机才能播放/手机网站制作教程
  • 企业网络推广运营技巧/seo静态页源码
  • 做网站赚钱嘛/网络营销做得好的品牌
  • 中国建设承包商网站/百度推广官网首页
  • 修改网站照片需要怎么做/seo顾问服务 乐云践新专家
  • 建工网校官网app/龙岗seo网络推广
  • 提供免费建网站的网/百度广告联盟平台官网
  • 烟台网站title优化/个人网站制作软件
  • 北京装饰公司电话/免费的seo教程
  • 如何建设新闻网站/泰安做网站公司
  • 开发公司未售的空置房物业费/seo收费
  • 帝国做的网站打开速度/东莞网络优化公司
  • 微网站怎么做的好处/电商网
  • 织梦网站被攻击/网络营销以什么为中心
  • 做软件网站/百度快照入口
  • 槐荫区网站建设/百度指数移动版app
  • 顺德网站建设教程/seo咨询师招聘
  • 哪家网站建设服务好/百度竞价推广代理
  • 做内衣的网站/网站优化排名怎么做
  • 网页设计 网站/郑州千锋教育培训机构怎么样
  • 上海高端网站建设定制/网站收录怎么做
  • 哪个网站做攻略比较好/seo 优化 工具