`
Sev7en_jun
  • 浏览: 1212808 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
84184fc0-d0b6-3f7f-a3f0-4202acb3caf5
Apache CXF使用s...
浏览量:109878
社区版块
存档分类
最新评论

Java Servlet学习笔记

    博客分类:
  • Java
 
阅读更多
Java Servlet学习笔记 
Servlet的注册与运行
1. Servlet程序必须通过Servlet引擎来启动运行,并且储存目录有特殊要求,通常需要存储在<WEB应用程序目录>\WEB-INF\classes\目录中。
2. Servlet程序必须在WEB应用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问。
3. 一个<servlet>元素用于注册一个Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,分别用于设置Servlet的注册名和Selvet的完整类名。
4. 一个<servlet-mapping>元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:<servlet-name>和<url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径
<web-app>
... ...
<servlet>
<servlet-name> AnyName </servlet-name>
<servlet-class> HelloServlet </servlet-class>
</servlet>
... ...
<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern> /demo/hello.html </url-pattern>
</servlet-mapping>
... ...
</web-app>


Servlet映射的细节

1. 同一个Servlet可以被映射到多个URL上,即多个<servelt-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。
2. 在Servlet映射到URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是"*.扩展名",另一种格式是以正斜杠(/)开头并以"/*"结尾。

<servlet-mapping>
<servlet-name>
AnyName
</servlet-name>
<url-pattern>
*.do
</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>
AnyName
</servlet-name>
<url-pattern>
/action/*
</url-pattern>
</servlet-mapping>


Servlet映射的最具体匹配原则
对于如下的一些映射关系:
1. /abc/*         映射到 Servlet1            优先级高
2. /*                    映射到 Servlet2            优先级高
3. /abc                映射到 Servlet3       
4. *.do                映射到 Servlet4            优先级低

将发生如下一些行为:
1. 当请求URL为"/abc/a.html", "/abc/*" 和"/*" 都可以匹配这个URL,Servlet引擎将调用Servlet1
2. 当请求URL为"/abc", "/abc/*" 、 "/abc" 和"/*" 都可以匹配这个URL,Servlet引擎将调用Servlet3
3. 当请求URL为"/abc/a.do", "/abc/*" 和"*.do" 都可以匹配这个URL,Servlet引擎将调用Servlet1
4. 当请求URL为"/a.do", "/*" 和"*.do" 都可以匹配这个URL,Servlet引擎将调用Servlet2
5. 当请求URL为"/xxx/yyy/a.do", "/*" 和"*.do" 都可以匹配这个URL,Servlet引擎将调用Servlet2


注册和访问Servlet程序的过程
1. 在webapps目录中创建文件夹lesson
2. 在lesson目录中创建文件夹WEB-INF
3. 在WEB-INF目录中创建文件web.xml 并创建文件夹classes

注意:
URL: /action/*.xx格式有误
Servlet是不能被设置为web的默认网页文档

web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app 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"
version="2.5">
<servlet>
<servlet-name> AnyName</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern>/demo/hello.html</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern>/action/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern> *.do</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file> test.do </welcome-file>
</welcome-file-list>


缺省Servlet
· 如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servelt就成为当前Web应用程序的缺省Servlet。
· 凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,他们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
· 在<tomcat的安装目录>\conf\web.xml文件中注册了一个名称为org.apache.catalina.servlets.DefaultServlet,并将这个Servlet设置为了缺省Servlet。
· 当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。
分享到:
评论

相关推荐

    java Servlet学习笔记

    java Servlet 学习笔记分享很详细

    Servlet学习笔记(java的Servlet)

    Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...

    Java web中servlet学习笔记 核心

    Java web中servlet学习笔记 核心。servlet执行过程、servlet生命周期、继承类、创建servlet、servlet线程安全、配置信息

    java-servlet学习笔记

    看过方立勋老师的课程之后 做的一点小笔记 以后拿出来复习复习 不对之处 请见谅 本人只是默默的一只菜鸟

    JSP &amp; Servlet学习笔记(第2版)

    书 名:JSP & Servlet学习笔记(第2版) 作 者:(台湾)林信良 著 出 版 社:清华大学出版社 出版时间:2012-5-1 ISBN:9787302283669 纸书页数:456页 定 价:¥ 58.00 内容简介: 本书是作者多年来...

    JSP Servlet学习笔记

    JSP Servlet学习笔记,java编程相关知识

    java的servlet学习笔记,深入了解servlet的原理以及运用

    主要讲述的是servlt以及jsp的主要内容,详细的javaweb学习笔记,能够让小白完完全全的了解servlet的运行机制,并且能够深入学习javaweb

    林信良java学习笔记

    林信良学习笔记(内容):ajax学习笔记,算法学习笔记,计算机图形学,C++学习笔记,设计模式,Hibernate学习笔记,Java学习笔记,JSF,JSP/Servlet,JUnit,Spring,Struts等

    Java相关课程系列笔记

    Java相关课程系列笔记之九Servlet学习笔记(建议用WPS打开) Java相关课程系列笔记之六HTML学习笔记(建议用WPS打开) Java相关课程系列笔记之七CSS学习笔记(建议用WPS打开) Java相关课程系列笔记之三PLSQL学习...

    《Jsp&Servlet学习笔记 第二版》源码

    《Jsp&Servlet学习笔记 第二版》源码,包含书内的代码实例

    Servlet学习笔记

    Servlet学习笔记

    servlet 学习笔记

    servlet 学习笔记 java web 开发

    java学习笔记

    java学习笔记大全:java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java...

    风中叶 java web 学习笔记

    风中叶 java web 学习笔记 详细介绍jsp,servlet,jquery,ajax

    Java学习笔记CCS AJAX DMS JSP servlet JavaScript等中文笔记整理.rar

    Java学习笔记CCS AJAX DMS JSP servlet JavaScript等中文笔记整理,可供学习设计参考。

    java unix sping ajax struts hibernate 学习笔记

    Core Java 学习笔记 Tiger 学习笔记 XML 学习笔记 Oracle 学习笔记 JDBC 学习笔记 Hibernate 学习笔记 HTML&JavaScript 学习笔记 Servlet 学习笔记 JSP 学习笔记 Struts 学习笔记. Ajax 学习笔记 EJB 学习笔记 ...

Global site tag (gtag.js) - Google Analytics