Servlet的路径配置
1-Servlet的路径配置
课程介绍:
通过对 Servlet 的调用流程学习,我们知道 web.xml 文件的配置是为了保护servlet。其实服务器应该调用哪个 servlet 进行请求的处理, 在浏览器的请求地址中写的很清楚。
一、注解配置:
1、精确匹配(路径要一样),一般作用于站点独特的几个路径,首页、登录、注册等等
@WebServlet("/hello") |
2、路径匹配,一般用于产品页,新闻页面,百科页面一般用于大量相类似的页面
@WebServlet("/product/*") |
3、扩展名匹配
@WebServlet("*.json") |
匹配多个路径:
@WebServlet(urlPatterns= {"/morepath","*.do","/more/*"}) |
二、Servlet的web.xml 配置:
Web.xml 配置的作用:保护Servlet。
配置方式一:精确匹配
Web.xml 配置的作用:保护Servlet。
配置方式一:精确匹配
<!-- 配置方式一 --> <servlet><servlet-name>my3</servlet-name> <servlet- class>com.bjsxt.servlet.MyServlet3</servlet-class></servlet><servlet-mapping><servlet-name>my3</servlet-name> <url-pattern>/my3</url-pattern></servlet-mapping>
配置方式二:路径匹配
<!-- 配置方式一 --> <servlet><servlet-name>my3</servlet-name> <servlet- class>com.bjsxt.servlet.MyServlet3</servlet-class></servlet><servlet-mapping><servlet-name>my3</servlet-name> <url-pattern>/my3</url-pattern></servlet-mapping>
配置方式三:扩展名匹配
<servlet><servlet-name>my3</servlet-name> <servlet- class>com.bjsxt.servlet.MyServlet3</servlet-class></servlet><servlet-mapping><servlet-name>my3</servlet-name> <url-pattern>*.do</url-pattern></servlet-mapping>
加载时机:
服务器启动的时候会将 webapps 中部署好的项目统一进行加载,并完成对每个项目的 web.xml 文件的加载。
注意:
一个 Servlet 可有拥有多个 url-pattern 配置,但是一个url-pattern 配置只能对应一个Servlet
路径和扩展名匹配无法同时设置,比如下面的三个<url-pattern>都是非法的,如果设置,启动tomcat服务器会报错。
<url-pattern>/kata/*.jsp</url-pattern>
<url-pattern>/*.jsp</url-pattern>
<url-pattern>he*.jsp</url-pattern>
另外注意:<url-pattern>/aa/*/bb</url-pattern>
这个是精确匹配,url必须是 /aa/*/bb,这里的*不是通配的含义
优先顺序
当一个url与多个servlet的匹配规则可以匹配时,则按照 “ 精确路径 > 最长路径>扩展名”这样的优先级匹配到对应的servlet。举例如下:
例1: servletA 的url-pattern为 /test, servletB的url-pattern为 /* ,这个时候,如果我访问的url为http://localhost/test ,这个时候容器就会先进行精确路径匹配,发现/test正好被servletA精确匹配,那么就去调用servletA,不会去管servletB。例2: servletA的url-pattern为/test/*, servletB的url-pattern为/test/a/*,此时访问http://localhost/test/a时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。 例3: 比如 servletA的url-pattern:*.action , servletB的url-pattern为 /* ,这个时候,如果我访问的url为http://localhost/test.action,这个时候容器就会优先进行路径匹配,而不是去匹配扩展名,这样就去调用servletB。
页面乱码:解决方法
request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UFT-8");
转载于:https://www.cnblogs.com/qq308015824/p/11009766.html
Servlet的路径配置相关推荐
- 使用WebServlet注解和web.xml配置servlet映射路径的区别及注意事项
配置servlet映射路径 一.使用web.xml配置url 二.使用servlet注解设置url 三.有关使用web.xml重写WebServlet注解 一.使用web.xml配置url 格式: & ...
- Filter_细节_过滤器拦截路径配置
过滤器配置详解 * 拦截路径配置: 1. 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行 2. 拦截目录: /us ...
- Filter过滤器拦截路径配置
在Filter中拦截路径配置有四种形式 具体资源路径拦截:@WebFilter("/index.jsp") //这是指访问index.jsp的时候会经过过滤器 具体目录拦截:@We ...
- java过滤器 配置路径_Filter过滤器拦截路径配置
在Filter中拦截路径配置有四种形式 具体资源路径拦截:@WebFilter("/index.jsp") //这是指访问index.jsp的时候会经过过滤器 具体目录拦截:@We ...
- Filter过滤器的拦截路径配置
Filter的介绍 拦截路径配置 拦截所有资源:/* 具体资源路径:/myServlet/demo1 拦截目录:/myServlet/* 后缀名被拦截:*.jsp Filter的介绍 拦截路径配置 过 ...
- nodejs安装及npm模块插件安装路径配置
在学习完js后,我们就要进入nodejs的学习,因此就必须配置nodejs和npm的属性了. 我相信,个别人在安装时会遇到这样那样的问题,看着同学都已装好,难免会焦虑起来.于是就开始上网查找解决方案, ...
- 024:模版查找路径配置
模版查找路径配置: 在项目的 settings.py 文件中.有一个 TEMPLATES 配置,这个配置包含了模板引擎的配置,模板查找路径的配置,模板上下文的配置等.模板路径可以在两个地方配置. 1. ...
- java 取上下文路径_取Servlet上下文路径,取WebContent的路径
---------------------取Servlet上下文路径,取WebContent的路径 -------------------------------- 1.String path = r ...
- 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )
文章目录 I . CMake 引入动态库与静态库区别 II . Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 ...
最新文章
- 今天,向 6 女性程序员先驱致敬
- 架构漫谈(1):什么是架构
- python表达式3and not5的值_表达式 3 and 5 的值为_学小易找答案
- android html 换行_Android-富文本处理-html字符串去掉内部样式,统一添加body、style,统一支持换行等...
- java+2e10_CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)
- Yapi 部署及遇到的坑
- php访问c#接口,介绍C#中的接口
- unity IOS 微信踩坑记录
- 天宝营养冲刺深交所:年营收12.5亿 拟募资7亿
- php如何实现众筹,PHP众筹系统这三点一定要注意
- 管道-过滤器体系结构风格
- Databinding+LiveData轻松实现无重启换肤
- 我的项目经理培训论文
- android9的手机,Android9.0全面适配18:9刘海屏,全面屏安卓手机即将大规模上市
- 测试opencl软件,OpenCL应用测试
- 【元胞自动机】基于元胞自动机模拟晶体生长附matlab代码
- PS CS6打开一直卡在正在检查内存
- 安卓爱笑话5.0全面升级
- 永冻土层matlab图片,最新科学研究发现:降雨量增加正在加速解冻北极永久冻土...
- 让人吃惊的泡MMQQ记录
热门文章
- There were errors checking the update sites: SSLHandshakeException: sun.secu 202007亲测有用
- java数据回填_快逸数据回填的实现方法
- 微信小程序——开发介绍
- PPT制作三大技巧:图标 、图片背景透明和自动函数
- 一. 卡尔曼滤波器开发实践之一: 五大公式详解
- java程序员自我简介及简历
- ubuntu批量解压分卷文件
- SOHO办公遭IBM叫停,为什么说它是创业大忌?
- 标准的视觉ECC200二维码解析(值得一看哦,比很多二维码解析都要强力的:-})
- 【2018虚拟现实设备VR眼镜排行榜】VR眼镜哪个好?9款市面上值得推荐的VR眼镜