Servlet和Maven项目
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项目的更多相关文章
- 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 ...
- Maven项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
刚刚新建完Maven项目,一般都会报这个错误,原因是没有默认添加需要的javax.servelet的jar包,所以打开pom.xml文件添加如下dependency即可: <dependency ...
- Maven项目红色叹号+JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java B
昨天写的关于解决JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the ...
- SpringMVC-Spring-Hibernate项目搭建之一-- 搭建maven 项目 & servlet的demo
一. 搭建maven项目 1. 新建maven项目,选择maven Project --> Next 2. 勾选 Create a simple project --> Next 3. ...
- idea 如何新建一个Maven项目并且写第一个servlet
使用idea已经有段时间了,但是一直没有自己亲自新建一个项目,从头开始写一个Servlet,今天就来学习一下,并且记一个笔记. 一. 1.首先,打开idea new-->Project 2.选择 ...
- 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 ...
- maven项目常见问题
问题1:Maven项目,右键-update project后报错如下的解决办法: 1).DescriptionResourcePathLocationType Java compiler level ...
- 【转】使用Eclipse构建Maven项目 (step-by-step)
安装eclipse 及配置maven时,参考的资料!!! from:http://blog.csdn.net/qjyong/article/details/9098213 Maven这个个项目管理和构 ...
- maven项目部分知识
1.maven项目在pom.xml中用add dependencies加入jar包,搜索不到jar包的解决方案: Window --> Show View --> Other输入mave ...
- STS新建的maven项目报错问题
STS新建的maven项目报错问题 解决方法:打开pom.xml文件添加 <dependency> <groupId>javax.servlet</groupId> ...
随机推荐
- Finance_CAPM&APT
ACCA CAPM: https://www.bilibili.com/video/BV1KE411j7Ri?from=search&seid=14840285521502157259 投资学 ...
- Luogu P3368 【模板】树状数组 2 [区间修改-单点查询]
P3368 [模板]树状数组 2 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表 ...
- 基于LabVIEW的计时器
前言: 最近有人问我,怎么实现一个计时器计时,可以做到启动.停止.重新开始等功能,好久没关于LABVIEW的博文,借这个写个计时器相关内容. 一.Labview时间计时器介绍: 这里采用时间计时器计算 ...
- Office 2016 未授权
用于管理 Office 批量激活的工具 https://docs.microsoft.com/zh-cn/DeployOffice/vlactivation/tools-to-manage-volum ...
- MLP-Mixer: An all-MLP Architecture for Vision 纯MLP架构
典型的MLP结构包括三层:input.hidden.output.不同层之间都是全联接的. MLP-Mixer完全利用基础的矩阵乘法运算和数据变换以及非线性层来完成复杂数据集的分类任务. Step 1 ...
- python3中的负数整除、求余问题
注:小白问题,大神们请忽略先看示例,非整除: >>> -10/3-3.3333333333333335>>> 10/-3-3.3333333333333335> ...
- linux 文件系统和包管理工具rpm,yum
文件系统 1.什么是文件系统? 文件系统是一种存储和组织计算机中数据文件的机制或方法,他使得对计算机内的数据的存储.访问和查找变得更容易,简单. 文件系统落到计算机里其实就是一个应用软件 ext2 e ...
- P3512 [POI2010]PIL-Pilots 单调队列的应用
题目描述 给定n,k和一个长度为n的序列,求最长的最大值最小值相差不超过k的序列 输入格式 第一行两个有空格隔开的整数k(0<=k<=2000,000,000),n(1<=n< ...
- Windows server 防火墙开放oracle监听端口
Windows server 防火墙开放oracle监听端口 Windows server 2008 开放1521端口 Windows server 2003 开放监听程序例外先开防火墙,再开监听例外 ...
- 装了google浏览器不代表就能使用google搜索
第一步:装google浏览器 第二步:连接外网(FQ的本质就是连接一个服务器) 第三步:输入网址google.com 跳转到此页面即成功 现在的想法是