`
Mr_Chunlei
  • 浏览: 28381 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

加入Struts框架后的运行机制

 
阅读更多

尊重原创,文章:http://blog.csdn.net/chunlei_zhang/article/details/16368997

1)首先是在浏览器中输入网址,既要访问的url。根据http协议将连接请求发送给Tomcat等服务器.如url为:http://localhost:8080/ThridProject/hello

2)Tomcat服务器会将其进行分析,找到其应用程序为ThridProject,并查看ThridProject的web.xml文件,看是怎么配置的

3)这是在web.xml会存在这样的filter配置,该配置会过滤所有的url地址:

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

4)这个url地址就会被org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter类接收到,然后会看namespace,然后起Struts.xml中去查找namespace为“ /"的,而且Struts.xml的配置如下:

       <package name="default" extends="struts-default" namespace="/">
		<action name="hello">
			<result type="dispatcher">/hello.jsp</result>
		</action>
	</package>
这个时候会查看是否存在hello.action,如果有则执行,并且跳转到result所指的jsp页面,若没有则跳转到默认的页面

5)将jsp页面的运行结果返回给浏览器

6)如果我们搜索的url的namespace没有找到就会返回给web.xml处理,如果web.xml会找到默认的网页如有以下配置:

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>


Struts1和Struts2的区别:

1) Struts1的Action每次new时是同一个对象,故每次需要设计到线程同步问题。


分享到:
评论

相关推荐

    JAVA程序开发大全---上半部分

    8.2 MyEclipse创建基于Struts框架的项目 119 8.2.1 创建Struts项目 119 8.2.2 Struts组件向导 121 8.2.3 Struts配置文件编辑器 124 8.3 Struts应用实例:登录系统 125 8.4 本章小结 133 第9章 Hibernate框架的开发及...

    外文翻译 stus MVC

    Struts——an open-source MVC implementation This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control...

    Spring面试题

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

    千方百计笔试题大全

    103、Struts的validate框架是如何验证的? 24 104、说下Struts的设计模式 24 105、spring工作机制及为什么要用? 24 106、HttpSession session = request.getSession() 24 107、getParameter与 getAttribute的区别? ...

    java面试宝典

    103、Struts的validate框架是如何验证的? 24 104、说下Struts的设计模式 24 105、spring工作机制及为什么要用? 24 106、HttpSession session = request.getSession() 24 107、getParameter与 getAttribute的区别? ...

    JAVA上百实例源码以及开源项目源代码

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    JAVA上百实例源码以及开源项目

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

    第24章 Hibernate与Struts框架  24.1 实现业务数据  24.2 实现业务逻辑  24.3 netstore应用的订单业务  24.4 小结 第25章 Hibernate与EJB组件  25.1 创建EJB组件  25.1.1 编写Remote接口  25.1.2 编写Home...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

    第24章 Hibernate与Struts框架  24.1 实现业务数据  24.2 实现业务逻辑  24.3 netstore应用的订单业务  24.4 小结 第25章 Hibernate与EJB组件  25.1 创建EJB组件  25.1.1 编写Remote接口  25.1.2 编写Home...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

    第24章 Hibernate与Struts框架  24.1 实现业务数据  24.2 实现业务逻辑  24.3 netstore应用的订单业务  24.4 小结 第25章 Hibernate与EJB组件  25.1 创建EJB组件  25.1.1 编写Remote接口  25.1.2 编写Home...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

    第24章 Hibernate与Struts框架  24.1 实现业务数据  24.2 实现业务逻辑  24.3 netstore应用的订单业务  24.4 小结 第25章 Hibernate与EJB组件  25.1 创建EJB组件  25.1.1 编写Remote接口  25.1.2 编写Home...

    好用的代码生成源码

    rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成...

    网络架构师148讲视频课程

    │ 第24节:加入ehcache,把工程加入到Git.avi │ 第25节:实现前端的业务登录等功能.avi │ 第26节:测试并调整登录的业务功能.avi │ 第27节:实现index功能的开发.avi │ 第28节:Index、商品详细页和购物车.avi ...

Global site tag (gtag.js) - Google Analytics