JavaWeb编程 Servlet的基本配置
学习JavaWeb的人没有不知道Servlet的吧,而要用Servlet就需要在web.xml中进行配置。相信有很多初学者跟我当初一样,对于一些配置参数不是很理解。
下面是一个最基本的Servlet配置:
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.Servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>
Servlet的配置包括两部分:
1、<servlet>配置Servlet的名字和完整类路径:
servlet-name是自定义的,就是给Servlet取个名字。
servlet-class是Servlet完整的类,就是从一开始的包一直“.”到该Servlet。
2、<servlet-mapping>是用来截获请求的,包括servlet-name和url-pattern。
servlet-name跟<servlet>中的servlet-name是对应的,两个servlet-name一定要一致,否则会找不到对应的Servlet。
url-pattern是截获请求的规则,当表单提交的时候,会根据特定的规则调用相应的Servlet。下面会具体阐述。
url-pattern大致分为以下几种方式:
1、完全匹配
如:<url-pattern>/servlet/MyServlet.do</url-pattern>
2、目录匹配
如:<url-pattern>/servlet/*</url-pattern>
3、扩展名匹配
如:<url-pattern>*.do</url-pattern>
在web.xml文件中,以下语法用于定义映射:
l. 以”/'开头和以”/*”结尾的是用来做路径映射的。
2. 以前缀”*.”开头的是用来做扩展映射的。
3. “/” 是用来定义default servlet映射的。
4. 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action
容器查找规则:
1、容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
2、如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。
例如:servletA的url-pattern为/test/*,而servletB的url-pattern为/test/b/*,此 时访问http://localhost/test/b时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。
注意:”/*.action”这样一个看起来很正常的匹配会错。因为这个匹配即属于路径映射,也属于扩展映射,会导致容器无法判断。
上面讲解的只是Servlet最基本的一个配置,还有很多其他的参数,有兴趣可自行研究,这里就不一一赘述了。
上一篇:Java编程实现轨迹压缩之Douglas-Peucker算法详细代码
栏 目:JAVA代码
下一篇:MyBatis开发Dao层的两种方式实现(原始Dao层开发)
本文地址:http://www.codeinn.net/misctech/67900.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




