首页 / SERVLET / Servlet的一些细节
Servlet的一些细节
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Servlet的一些细节,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3291字,纯文字阅读大概需要5分钟。
内容图文
![Servlet的一些细节](/upload/InfoBanner/zyjiaocheng/1275/5dcc10c7807640a8858b7d70b3273578.jpg)
1. Servlet程序必须映射到一个URL地址
由于客户端是通过URL访问web服务器资源,所以Servlet程序必须映射到一个URL地址。这个工作在web.xml文件中使用<servlet>元素和<servlet-maping>元素完成
<servlet>用于注册Servlet,<servlet-name>和<servlet-Class>分别用于设置Servlet的注册名称和完整类名
一个<servlet-maping>元素用于映射一个已经注册的Servlet的一个对外访问路径,子元素<servlet-name>和<url-pattern>分别指定Servlet的注册名称和对外访问路径
<? xml version="1.0" encoding="UTF-8" ?> < web-app version ="2.5" xmlns ="http://java.sun.com/xml/ns/javaee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > < servlet > < servlet-name >ServletDemo</servlet-name><servlet-class>cn.school.ServletDemo</servlet-class></servlet><servlet><servlet-name>ServletDemo2</servlet-name><servlet-class>cn.school.ServletDemo2</servlet-class></servlet><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>/ServletDemo</url-pattern></servlet-mapping><servlet-mapping><servlet-name>ServletDemo2</servlet-name><url-pattern>/servlet/ServletDemo2</url-pattern></servlet-mapping></web-app>
对于第一个程序,使用http://localhost:8080/D623/ServletDemo
对于第二个程序, 使用http://localhost:8080/D623/servlet/ServletDemo2
2. 同一个Servlet可以被映射到多个URL地址上去
即是一个Servlet注册名可以对应多个<servlet-mapping>元素
也就是说可以有多个地址访问同一个Servlet程序
< servlet > < servlet-name >ServletDemo</servlet-name><servlet-class>cn.school.ServletDemo</servlet-class></servlet><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>/my1/ServletDemo</url-pattern></servlet-mapping><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>/my2/ServletDemo</url-pattern></servlet-mapping><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>/my3.html</url-pattern></servlet-mapping>
注意最后一个访问地址是http://localhost:8080/D623/my3.html
在地址栏中出现这样的地址看起来好像是一个静态页面,其实Selvlet是动态页面,这就是常说的伪静态
3. Servlet映射地址可以使用* 通配符
但只有两种固定格式
*.扩展名 或者 以 /* 结尾
< servlet > < servlet-name >ServletDemo</servlet-name><servlet-class>cn.school.ServletDemo</servlet-class></servlet><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>/ServletDemo</url-pattern></servlet-mapping><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>/*</url-pattern></servlet-mapping><servlet-mapping><servlet-name>ServletDemo</servlet-name><url-pattern>*.dd</url-pattern></servlet-mapping>
通配符的意思是可以输入任何字符
注意一点,当修改web.xml时,不需要重新生成web应用,web服务器会自动监测web.xml的改动
Tomcat服务器的conf文件夹下context.xml文件有一句
< WatchedResource >WEB-INF/web.xml</WatchedResource>
4. 最先匹配最像的路径
如下映射关系
Servlet1 映射到 /abc/*
Servlet2 映射到 /*
Servlet3 映射到 /abc
Servlet4 映射到 *.do
当请求URL为 /abc/a.html 时,匹配Servlet1
当请求URL为 /abc 时,匹配Servlet3
当请求URL为/abc/a.do 时,匹配Servlet1 (*在前面的方式优先级最低)
当请求URL为 /a.do 时 匹配Servlet2
原文:http://www.cnblogs.com/tech-bird/p/3805246.html
内容总结
以上是互联网集市为您收集整理的Servlet的一些细节全部内容,希望文章能够帮你解决Servlet的一些细节所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。