Servlet 配置文件web.xml实验

我们的servlet为

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletDemo1 extends HttpServlet{

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException{
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("<h1>Hello Servlet Get</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

我们的web.xml配置文件为

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>
        <servlet-name>Servlet Name For Demo1</servlet-name>
        <servlet-class>com.mkyong.ServletDemo</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Servlet Name For Demo</servlet-name>
        <url-pattern>/Demo</url-pattern>
    </servlet-mapping>
</web-app>

现在我们的实验分为三步

1 测试<servlet-mapping>中的<url-pattern>,当我们在浏览器的请求不写成Demo而写成其他任意值得时候,浏览器出现404错误 resource not found。这个显而易见啦

2 测试假如<servlet-mapping>和<servlet>的这两个标签的<servlet-name>不一致的时候出现的现象

在我们启动tomcat的过程中,此时我们还没有从浏览器发出URL请求。控制台记录中抛出如下异常

Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Servlet]]

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name

3 测试假如

当我们的<servlet>标签的<servlet-class>写的同web-inf文件夹中的servlet类不一致的时候 当我们的客户端发送URL请求时才会抛出以下错误

我们的客户端出现为

HTTP Status 500 - Error instantiating servlet class

javax.servlet.ServletException: Error instantiating servlet class 

root cause

java.lang.ClassNotFoundException: com.mkyong.ServletDemo
控制台显示为

java.lang.ClassNotFoundException

从上面可以看出在启动tomcat的过程中并不会对我们的servlet具体的实例化,而只有在服务器收到客户端浏览器正确的URL请求时才会找相关的类并且实例化。

时间: 2024-10-24 21:21:52

Servlet 配置文件web.xml实验的相关文章

Servlet在web.xml中的配置

import javax.servlet.*; import java.io.IOException; import java.io.PipedWriter; import java.io.PrintWriter; /** * Created with IntelliJ IDEA. * User: wbb * Date: 14-6-17 * Time: 上午11:56 * To change this template use File | Settings | File Templates.

servlet 中 web.xml 备忘 总结

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.

Servlet中Web.xml的配置详解

1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义). 所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-App和WEB-APP都

Servlet中Web.xml文件的配置

1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义).所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-App和WEB-APP都是不

Servlet中Web.xml的配置详解(一)

1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义).所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-App和WEB-APP都是不

在配置文件web.xml中配置Struts2的启动信息

在配置文件web.xml中配置Struts2的启动信息: <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://ja

【转】Servlet与web.xml的配置

Web.xml常用元素<web-app><display-name></display-name>定义了WEB应用的名字<description></description> 声明WEB应用的描述信息 <context-param></context-param> context-param元素声明应用范围内的初始化参数.<filter></filter> 过滤器元素将一个名字与一个实现javax.

servlet中web.xml配置详解

Web.xml常用元素 <web-app> 所有部署描述符文件的顶层(根)元素 <display-name></display-name>定义了WEB应用的名字 <description></description> 声明WEB应用的描述信息 <context-param></context-param> context-param元素声明应用范围内的初始化参数. <filter></filter>

Spring MVC 配置文件 web.xml文件详解

<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.s