自己总结的基于ssh框架的网站的简单执行流程
来源:互联网 发布:正规的淘宝刷手平台 编辑:程序博客网 时间:2024/06/01 07:17
一、容器的启动(项目发布到服务器)
容器(此处以tomcat为例)启动,会去读取web.xml文件,该文件的核心配置如下:
<!-- 配置Spring的核心监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置Struts2的核心过滤器 -->
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
他首先会去读取<context-param>标签的值,此处该值的作用是让容器去读取类路径下的appliContext.xml文件(因为容器默认读取的是编译路径下的该文件),并加载该文件,加载该文件就意味着将该文件配置中的各个bean实例化(前提是scope='singleton'),之后会去读取<listener>标签的值,加载spring监听器,在然后才会去读取<filter>标签的值,将一系列的监听器初始化到内存。至此,项目的发布算是完成,需要初始化的各个值都已经被初始化到内存,等待外部程序的访问。
二、访问请求的到来
假设我们有一个访问请求http://localhost:8080/user_login.action(以本地程序为例),该访问请求会去查询对应的struts.xml文件,找到其中的user_login的action(此处是通配符的配置),struts.xml的部分配置如下:
<!-- 配置用户模块的Action -->
<action name="user_*" class="userAction" method="{1}">
<result name="registPage">/WEB-INF/jsp/regist.jsp</result>
<result name="input">/WEB-INF/jsp/regist.jsp</result>
<result name="loginPage">/WEB-INF/jsp/login.jsp</result>
<result name="login">/WEB-INF/jsp/login.jsp</result>
<result name="loginSuccess" type="redirectAction">index</result>
<result name="quit" type="redirectAction">index</result>
<result name="checkcodeFail">/WEB-INF/jsp/regist.jsp</result>
</action>
然后根据该文件会去找userAction的类,并去调用里面的login方法,根据login方法的返回值内容进行相应的跳转。(例如:如果返回值为login,则会跳转到/WEB-INF/jsp目录下的login.ksp页面)。
三、关于调login方法要执行的大体流程
当调用userAction中的login方法时,一般会执行以下的内容:首先会去调用userService类下的login方法,然后userervice会去调用uerDao下的login方法,而userDao的login方法调用的一般是hibernate提供的访问数据库的方法。hibernate实现的是对象-关系的映射(即把数据库表和一个java的pojo进行映射),userDao只是负责调用hibernate提供的方法即可,而在servece层注意要加事务的控制。最后,会返回一个action需要的值。然后action根据该值进行相应的处理(包括页面的跳转,将相应的值存储到值栈中等)。
四。对请求的响应
在跳转到的页面中,一般使用struts2的标签进行相应的处理,至此一个简单的ssh项目的访问就已经完成。
当然,这只是其中的很简短的流程的介绍,至于每一部分的详细的介绍,请自己参照相应框架的说明文档进行学习。
- 自己总结的基于ssh框架的网站的简单执行流程
- SSH框架的项目执行流程
- 谈谈SSH框架的执行流程
- SSH框架的项目执行流程
- SSH 的执行流程
- 基于全注解的SSH简单框架
- 基于全注解的SSH简单框架
- 简介SSH框架、SSH框架之Struts的初识、Struts开发流程详解、Struts执行流程
- SSH框架之Struts的有关执行流程的面试题、配置上的共性问题、简单应用-用户登陆
- 基于SSH验证框架的validation.xml验证不执行
- SSH框架的逻辑流程
- SSH框架的开发流程
- ssh框架的搭建流程
- 【基于SSH框架的个人博客系统01】Eclipse搭建SSH框架详细流程
- 基于SSH框架的登陆的简单实例
- SSH框架的执行原理
- 简单谈谈自己对SSH框架的理解
- 搭建SSH框架(自己做项目时的总结)
- 修改集合抛出java.util.ConcurrentModificationException
- javascript in运算符 真值和假值 赋值运算 表达式计算 delete运算符号 二十
- 开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供)
- HTTP协议详解
- angular--将需要参数的方法传入组件
- 自己总结的基于ssh框架的网站的简单执行流程
- 阿里、京东、微店前端面试题
- 正则学习
- attrs.xml文件的使用详解---定义xml属性
- 全国省份地区相关常量备忘
- asm中删除无效磁盘组,并修改参数文件
- eclipse中使用maven创建Java web项目的详细步骤
- python压缩数据
- SLC和MLC NAND Flash