Struts2框架学习笔记

Struts2框架学习笔记

框架下载地址
它是一个遵循MVC设计理念的框架 MVC(model-view-controller,模型-视图-控制器)
应用框架模型为:客户端(请求)➡struts2过滤器(strutsprepaerandexecutefilter)[转发]➡action对象[返回]➡视图

  1. 导入struts2.jar包到lib目录下
  2. 在web.xml中配置struts2自带过滤器(strutsprepaerandexecutefilter)`
 <filter>
     	<!--过滤器名称-->
    <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
    	<!--过滤器类-->
	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
  	<!--过滤器名称-->
    <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
    <!--过滤器映射-->
	<url-pattern>/*</url-pattern>
  </filter-mapping>
  1. 在web项目的源码文件中创建struts.xml文件并配置相关action文件。除了配置struts…xml文件外还需要配置struts.properties文件(作用:框架属性配置文件)。这两个配置文件需要开发人员手动配置。
<!--包名 和继承包-->
<package name="studentInfo"  extends="struts-default">
<action name="user" class="com.java1234.action.UserAction">
		   <!--处理结果对应的映射页面-->
			<result name="error">/login.jsp</result>
			<result name="logOut" type="redirect">/login.jsp</result>
			<result name="success">/main.jsp</result>
			<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>

4.定义action类继承与actionsupport。struts2框架的工作原理:客户端向web容器发送http请求,struts2过滤器调用dofilter()方法,通过内部机制寻找并分配到相应的action,匹配后调用action的execute()方法,根据处理结果返回相应的值,然后struts2通过返回值查找相应的映射页面,返回客户端。现在多使用动态action,故不重写execute()方法。例下:

> <a href="useraction!logout"></a>

中途插入讲解一下servlet的生命周期。servlet生命周期分为4个进程分别是
(1)被创建:
默认情况下,Servlet第一次被访问时,被服务器创建。会调用init()方法。
一个Servlet只会被创建一次。init()方法也只会被调用一次。
Servlet是单例的。而服务器时多线程的。可能存在线程安全问题。
为了避免安全问题,在Servlet中尽量不要定义成员变量。即使定义了。也不要进行其他操作(只能查询)。可以配置启动服务器时,创建Servlet
配置启动创建
值:
0和正整数:在服务器启动时创建
数字越小 优先级越高
load-on-startup>2</load-on-startup
负整数:-1是默认值。在第一次被访问时创建
(2)提供服务:
每一次被访问,都会调用service方法提供服务。调用多次。
提供服务:
1.获取请求消息数据
2.设置响应消息数据
如果重写了dopost()和doget()和service()方法,那么服务器自动调用service。
如若没重写 service()方法 服务器则根据交互方式判断调用时dopost()还是doget()方法。并且可以额外设置形参。
(3)被销毁:
服务器关闭时,servlet被销毁。
服务器正常关闭前,会销毁Servlet,在销毁之前,会调用destory()方法。只调用一次。

今天tomcat7升级到tomcat9的问题

遇到了spring boot冲突。需要删除jdk目录下的jre. lib. ext/serverlet—api 点代表下一级目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值