`

发送url请求运行流程-------基于spring,hibernate,struts2系统

阅读更多

废话不多说了,直奔今天的主题吧!

1.首先来自浏览器客户端的请求:http://xx.xxxx.com/项目名称/search.html?id=12345

2.然后经过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>*.html</url-pattern>
	<dispatcher>REQUEST</dispatcher>
	<dispatcher>FORWARD</dispatcher>
</filter-mapping>

    即所有以.html结尾的url都要经过FilterDispatcher的过滤,然后过滤器会根据url中的search分派到struts.xml文件。

    注意:上面的REQUEST,FORWARD表示:

   

 

3.接着看struts.xml文件

  

<action name="search" class="vacationSearchAction" method="findById">
     <result name="success">WEB-INF/jsp/common/string.jsp</result>
</action>

    由上面可以看到search对应着class为vacationSearchAction类里面的名为findById的方法。

    注意:这里的class只是别名,实现类是在对应的spring文件里面:

 

4. spring-action.xml:

<bean id="vacationSearchAction"class="com.mangocity.vacation.query.action.SearchAction" scope="prototype">
     <property name="vacationQueryService" ref="vacationQueryService" />
</bean>

    这里有两点值得注意:(1)scope:spring默认生成的是单例。Singleton: Spring容器只存在一个共享的bean实例,是默认的配置 ,而 Prototype: 每次对bean的请求都会创建一个新的bean实例。

                                           二者选择的原则:有状态的bean都使用Prototype作用域,而对无状态的bean则应该使用singleton作用域。而struts2传过来的action显然是有状态的,所以设置为prototype。

                                       (2)这里注入了vacationQueryService,要到SearchAction中进行get/set

 

最后进入到SearchAction类里面的findById方法,处理完后返回success,便会跳转到string.jsp!

 

 

分享到:
评论

相关推荐

    OpenID简介及与struts2_spring_hibernate框架集成

    第三章 与Struts2、Spring集成 - 17 - 3.1. 业务逻辑层接口及实现类 - 17 - 3.2. Struts2的Action调用业务逻辑 - 19 - 3.2.1. 登录Action--OpenIDLoginAction - 19 - 3.2.2. 进入的Action—FirstPageAction - 20 - ...

    spring3.2+strut2+hibernate4

    spring3.2+strut2+hibernate4 注解方式。&lt;struts&gt; spring.xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    JSP基于SSM实现的和EasyUI公司员工管理系统毕业源代码+文档说明

    2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了hibernate提供的校验框架,对客户端数据进行校验! 4 Mybati数据库DAO层采用的是Mapper代理开发...

    博客系统(struts+hibernate+spring)130225.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    图书管理系统(struts+hibernate+spring+ext)130221.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    基于JAVA+struts+hibernate实现的网络购物系统.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    Struts2 in action中文版

    3.2.3 使用struts-default包中的组件 41 3.3 实现动作 43 3.3.1 可选的Action接口 44 3.3.2 ActionSupport类 45 3.4 向对象传递数据 51 3.4.1 对象支持的JavaBean属性 52 3.4.2 ModelDriven动作 54 3.4.3 域对象用作...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    基于SSM框架(SpringMVC + Spring + Mybatis)的图书管理系统,内附,教程,数据库脚本

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...

    spring杂谈 作者zhang KaiTao

    1.7 Spring开闭原则的表现-BeanPostProcessor扩展点-2 1.8 Spring3.1 对Bean Validation规范的新支持(方法级别验证) 1.9 Spring对事务管理的支持的发展历程(基础篇) 1.10 基于JDK动态代理和CGLIB动态代理的实现...

    基于SSM框架(SpringMVC + Spring + Mybatis)的图书管理系统数据库.rar

    此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了hibernate...

    毕业设计-基于SSM和EasyUI公司员工管理系统,包含源码、数据库文件、演示视频、运行截图、系统说明等

    2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了hibernate提供的校验框架,对客户端数据进行校验! 4 Mybati数据库DAO层采用的是Mapper代理开发...

    Spring面试题

    一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的 Validate()验证后选择将请求发送到哪个...

    基于SSM框架图书信息管理系统 | 毕业设计

    2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了hibernate提供的校验框架,对客户端数据进行校验! 4 Mybati数据库DAO层采用的是Mapper代理开发方法...

    [其他类别]Struts+Hibernate实现MVC_strutsmvc.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    [信息办公]基于struts的图书管理系统_struts_ts.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    拦截器和控制器的区别

    4、访问流程 url -&gt; filter -&gt; struts.xml -&gt; package -&gt; action -&gt; name="userAction_*" -&gt; class -&gt; method="{1}" 5、核心struts.xml 6、提交策略 图片预览 个人信息完善 7、crud 增删改查 搜索 多删 假删 ...

Global site tag (gtag.js) - Google Analytics