Servlet执行流程

通过默认端口号访问到Tomcat服务器

通过类名访问到对应的项目

通过自定义的相应路径,访问到注释中的同名路径

即为执行流程

相应的Servlet对象由Tomcat服务器创建,并由它调用

相关方法:

Servlet生命周期

会执行doGet()方法

其生命周期由容器来管理,分为4个阶段:

1、加载和实例化:

默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象;

非默认情况下,可以通过@WebServlet(urlPatterns="/demo",loadOnStartup=1)进行Servlet对象的创建:1、负整数(默认情况) 2、0或者正整数(服务器启动时创建Servlet对象,数字越小优先级越高)

2、初始化:

在实例化之后,容器将会调用Servlet的init()方法初始化这个对象(默认情况下,Servlet第一次被访问时调用)

3、请求处理:

每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理

4、服务终止:

容器调用Servlet对象的destroy()方法完成资源的释放

1、HttpServlet使用步骤

1、继承HttpServlet
2、重写doGet和doPost方法

2、HttpServlet原理

获取请求方式,并根据不同的请求方式,调用不同的doXxx方法

urlPattern配置

1、一个Servlet,可以配置多个urlPattern(数组形式)

2、urlPattern配置原则

### 1、精确匹配

配置路径:@WebServlet("/user/select")

访问路径:localhost:8080/tt0924/user/select

2、目录匹配

配置路径:@WebServlet("/user/")

访问路径:localhost:8080/tt0924/user/

3、扩展名匹配

配置路径:@WebServlet("*.do")

访问路径:localhost:8080/tt0924/aaa.do

或者:localhost:8080/tt0924/bbb.do

4、任意匹配

配置路径:@WebServlet("/")

或者:@WebServlet("/*")

访问路径:localhost:8080/tt0924/hehe

或者:localhost:8080/tt0924/haha

如果有的路径,多个匹配条件均满足,那么会优先选择匹配更为精确的那一个

当然,/和/*还是有一定的区别的,

当在项目中的Servlet配置了“/”,会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern都匹配不上时,都会走这个Servlet

当在项目中配置了“/*”,意味着匹配任意访问路径

Servlet和Maven项目的更多相关文章

  1. threw load() exception java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet(maven项目git后)

    maven项目git全新项目后启动服务出现的, 错误原因: 进入到tomcat的部署路径.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpw ...

  2. Maven项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    刚刚新建完Maven项目,一般都会报这个错误,原因是没有默认添加需要的javax.servelet的jar包,所以打开pom.xml文件添加如下dependency即可: <dependency ...

  3. Maven项目红色叹号+JavaWeb: 报错信息The superclass &quot;javax.servlet.http.HttpServlet&quot; was not found on the Java B

    昨天写的关于解决JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the ...

  4. SpringMVC-Spring-Hibernate项目搭建之一-- 搭建maven 项目 & servlet的demo

    一. 搭建maven项目  1. 新建maven项目,选择maven Project --> Next 2. 勾选 Create a simple project --> Next 3. ...

  5. idea 如何新建一个Maven项目并且写第一个servlet

    使用idea已经有段时间了,但是一直没有自己亲自新建一个项目,从头开始写一个Servlet,今天就来学习一下,并且记一个笔记. 一. 1.首先,打开idea new-->Project 2.选择 ...

  6. springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

    项目结构:   1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  7. maven项目常见问题

    问题1:Maven项目,右键-update project后报错如下的解决办法: 1).DescriptionResourcePathLocationType Java compiler level ...

  8. 【转】使用Eclipse构建Maven项目 (step-by-step)

    安装eclipse 及配置maven时,参考的资料!!! from:http://blog.csdn.net/qjyong/article/details/9098213 Maven这个个项目管理和构 ...

  9. maven项目部分知识

    1.maven项目在pom.xml中用add dependencies加入jar包,搜索不到jar包的解决方案: Window  --> Show View --> Other输入mave ...

  10. STS新建的maven项目报错问题

    STS新建的maven项目报错问题 解决方法:打开pom.xml文件添加 <dependency> <groupId>javax.servlet</groupId> ...

随机推荐

  1. iOS 15 UI适配

    1. UINavigationBar 在iOS 15中,UINavigationBar默认为透明.在滑动时会有模糊效果.如果想要一直就是模糊效果,可以通过改变scrollEdgeAppearance属 ...

  2. kafka常用命令(zookeeper与bootstrap-server)

    在 0.9.0.0 之后的 Kafka,出现了几个新变动,一个是在 Server 端增加了 GroupCoordinator 这个角色,另一个较大的变动是将 topic 的 offset 信息由之前存 ...

  3. PWM脉宽调制

    PWM(pulse width modulation) .由微处理器输出一系列占空比不同的矩形脉冲(单个周期相同),应用在测量,通信,功率控制与变换的许多领域.优点是从微处理器到被控系统的信号都是数字 ...

  4. 解决通过Eclipse启动Tomcat-Run On Server出现The selection cannot be run on any server

    有时候通过Eclipse启动Tomcat-Run On Server会出现The selection cannot be run on any server的情况如下图: 这是因为没有在eclipse ...

  5. java jdk8安装之后java -version失败

    将此目录下的(C:\Program Files (x86)\Common Files\Oracle\Java\javapath_target_86850671)三个.exe文件删除即可!

  6. 记一次 windows 10 系统 idea 【ctrl + shift + f】快捷键失效的问题

    快捷键失效,首先想到的就是和其它软件设置的快捷键冲突了,把其它软件都关了之后,发现还是不行.最后发现原来是搜狗输入法中设置了,关掉之后就可以了.

  7. 数据库MYSQL常用命令

    下载安装命令 Sudo atp-get install xxxx 验证是否安装并启动成功 Sudo netstat -tap | grep xxx 启动 Sudo service mysql star ...

  8. LayUI 简单的全选和反选小例子

    比较简单实用,直接上代码,主要就是  lay-filter="ischange"   触发事件和  checkbox 的 class="ids" 对上就行: H ...

  9. 将npm安装镜像切换到淘宝

    cnpm(推荐) 安装 pm install cnpm -g --registry=https://registry.npm.taobao.org 使用 cnpm install [xxxxxxx] ...

  10. 【Delphi7官方镜像版】delphi_7_ent_en官方镜像 阿里云盘

    [Delphi7官方镜像版]「delphi_7_ent_en官方镜像.iso.exe」https://www.aliyundrive.com/s/Du9C4XfZfwG 点击链接保存,或者复制本段内容 ...