目录
注解方式:
描述符方式(web.xml文件):
根路径:
虚拟路径:
servlet的URL指定:
扩展匹配:
业务中常用的方式:
注解方式:
用一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。比如,下面这段代码:
@Override
public String toString() {
return "This is String Representation of current object." ;
}
上面的代码重写了toString()方法并使用了@Override注解。
注解可以替换Web部署描述符文件(web.xml)中的等效XML配置,例如servlet声明和servlet映射。 Servlet容器将在部署时处理带注解的类。
描述符方式(web.xml文件):
web.xml 是java web 项目的一个重要的配置文件,但是web.xml文件并不是Java web工程必须的。部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。
根路径:
1.request转发(服务器端):"/"表示web项目的根目录
2.response重定向(客户端):response.sendRedirect("/test.jsp"),“ / ” 表示的是服务器的虚拟根目录webapps
3.request.getContextPath()方法:在服务器端,如果要获取web项目的根目录,可使用此方法
4.客户端的jsp页面最好加入${pageContext.contextPath}来使用根路径
虚拟路径:
创建好servlet后,只有在web.xml中注册后,容器才能知道名字才能实例化。
实例化的服务程序在容器中用户并不能直接使用,需用请求形式调用URL
只有映射了虚拟路径,客户端才能对其进行访问(Request)
servlet的URL指定:
servlet的多重映射:同一个servlet可以被映射成多个虚拟路径
servlet映射路径中使用通配符:某个目录下所有路径都可用同一个servlet来处理,这样所有路径就都可以访问同一个servlet
缺省servlet:处理其他servlet都不处理的访问请求(缺省servlet是在服务器内置的一个路径。客户端访问服务器静态资源文件时,静态资源文件是通过缺省servlet返回的)
servlet映射路径中使用通配符:
定头:" *.扩展名 "
定尾:" /* "
不可以定头尾:定头定尾不可以混用,因为无法解析。如"/abc/*.do"是不合法的。
注意:当一个通配符兼容另一个通配符时,tomcat将采取最具体匹配原则查找与请求url最接近的虚拟映射路径。
URL语法:
(1)“/”开头和“/*”结尾的用作路径映射。
(2)前缀“*.”开头的用作扩展映射。
(3)“/”用来定义default servlet映射
(4)其余都是用来定义详细映射的。
当客户端访问一个servlet是,若url地址能够匹配多个虚拟路径,tomcat将采取最具体匹配原则,来查看与请求url最接近的虚拟路径。
注意:
(1)通配符不能在中间。
(2)三种通配符匹配优先级:匹配的范围越大优先级越低。
扩展匹配:
如果url最后一段包含扩展,容器将会根据扩展选择合适的servlet
业务中常用的方式:
所有jsp页面,置于安全目录下,通过服务器的servlet转发来访问
- 安全
- 隐私
- 统一标准和接口
- 方便进行过滤和检查操作
- index.jsp例外,或是index.html例外
业务系统一般要素:
- 系统管理
- 用户管理
- 权限管理
- 业务管理



