Struts2 Hibernate Spring 运行流程与部分机制(2)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:次
9.action调用service,service调用dao
dao层中调用hibernateTemplate的相关方法完成数据库操作将结果逐层返回给action
10.action返回试图名
10.actionInvacation根据struts.xml中action返回的视图名对应result的值寻找到对应的视图将视图和返回值结合(jsp拿到值)并产生新的jsp返回给上层的filter。
StrutsPrepareAndExecuteFilter将jsp返回给tomcat
Tomcat的jsp引擎(org.apache.jasper.servlet.JspServlet)生成serlvet源程序(.java文件)
.之后又将Servlet源程序编译为.class类文件;编译成.class文件后返回给用户产生html
一。Struts2生成action
不声明@Component,由struts2生成的action(默认是prototype一个请求new一个)
action中需要访问的service层的对象生成的set方法由struts-spring-plugin.jar这个jar包 帮我们去spring容器中找与set方法名字一样的bean帮我们注入,
注意这里struts-spring-plugin提供的注入方法是不可替换的,即使
使用@Resource指定其他的实现也无效。
二。Spring生成action
由Spring容器生成的action,配置了@Component和@Scope("prototype") struts,xml中action的class属性指定成
@Component的value
该action中的service的set方法 需要使用@Resource注入,struts-spring-plugin 则不会自动去spring容器中寻找相应的bean
注意:
如果action不使用@Component("actionName") 那么action是由struts2产生,如果加上@Component("u") 则struts.xml中的
<action name="u" class="u"> 的class要为u,则为spring产生的action,struts2找action的时候,去spring容器中找action
刚工作不久,自己总结的,如果错误以及不正确的地方,欢迎大家指正哈。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>