ssh的工作流程

一、容器的启动(项目发布到服务器)

容器(此处以tomcat为例)启动,会去读取web.xml文件,该文件的核心配置如下:

org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:applicationContext.xml struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* REQUEST FORWARD

他首先会去读取标签的值,此处该值的作用是让容器去读取类路径下的appliContext.xml文件(因为容器默认读取的是编译路径下的该文件),并加载该文件,加载该文件就意味着将该文件配置中的各个bean实例化(前提是scope=‘singleton’),之后会去读取标签的值,加载spring监听器,在然后才会去读取标签的值,将一系列的监听器初始化到内存。至此,项目的发布算是完成,需要初始化的各个值都已经被初始化到内存,等待外部程序的访问。

二、访问请求的到来

假设我们有一个访问请求http://localhost:8080/user_login.action(以本地程序为例),该访问请求会去查询对应的struts.xml文件,找到其中的user_login的action(此处是通配符的配置),struts.xml的部分配置如下:

/WEB-INF/jsp/regist.jsp /WEB-INF/jsp/regist.jsp /WEB-INF/jsp/login.jsp /WEB-INF/jsp/login.jsp index index /WEB-INF/jsp/regist.jsp

然后根据该文件会去找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项目的访问就已经完成。

当然,这只是其中的很简短的流程的介绍,至于每一部分的详细的介绍,请自己参照相应框架的说明文档进行学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值