servlet在web.xml的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet在web.xml的配置相关的知识,希望对你有一定的参考价值。

web.xml中servlet的配置
元素是配置Servlet所用的元素。
元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在地址栏输入对应的映射路径就可以访问你的servlet。

下面给出一段配置代码:

ServletName
xxxpackage.xxxServlet

参数名称

参数值

ServletName
/aaa/xxx

在地址栏中输入http://localhost:8080/web-App/aaa/xxx就可以访问了。
缺省Servlet
1.如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
2.凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
3.在\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。
当访问Tomcat服务器中的某个静态html文件和图片时,实际上是在访问这个缺省Servlet。
例1--缺省Servlet:

action
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation
/WEB-INF/config/spring-mvc.xml

action
/

例2:

dispatcherServlet
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation
/WEB-INF/config/spring-mvc.xml

dispatcherServlet
*.do

参考:http://www.cnblogs.com/wql025/p/4804977.html
参考技术A <?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">
<display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
参考技术B <servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.LoginServlet(包名.类名)</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet>和<servlet-mapping>标签中的<servlet-name></servlet-name>中间的内容必须一致
参考技术C <servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.LoginServlet(具体路径)</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
参考技术D 百度一下, 这个很多的

Servlet开发技术,创建,以及Servlet的配置,web.xml的配置

直接上图,不废话!!!

第一:首先在Eclipse的包资源管理器中,单机鼠标右键,在弹出的快捷键菜单中选择“新建”/Servlet命令,在弹出的对话框中输入新建的Servlet所在的包和类名,然后单击下一步,

技术分享

 

我选择默认,Next

 

技术分享

依旧默认,Next

技术分享

注意事项,在创建web的工程的时候需要注意的是如下图,选择上web.xml这个按钮,因为Servlet需要配置一下web.xml这个文件,web.xml在web-inf这个文件下面

技术分享

技术分享

技术分享

上图第二个箭头前面有个方括号,勾选上就可以自动创建好web.xml这个文件了。

 

技术分享
 1 package com.ningmeng;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.annotation.WebServlet;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 /**
13  * Servlet implementation class FirstServlet
14  */
15 @WebServlet("/FirstServlet")
16 public class FirstServlet extends HttpServlet {
17     private static final long serialVersionUID = 1L;
18        
19     /**
20      * @see HttpServlet#HttpServlet()
21      */
22     public FirstServlet() {
23         super();
24         // TODO Auto-generated constructor stub
25     }
26 
27     /**
28      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
29      */
30     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
31         // TODO Auto-generated method stub
32         response.setContentType("text/html");
33         response.setCharacterEncoding("GBK");
34         PrintWriter out=response.getWriter();
35         out.print("<HTML>");
36         out.println("<HEAD><TITLE>Servlet实例</TITLE></HEAD>");
37         out.println("<BODY>");
38         out.println("servlet实例");
39         out.println(this.getClass());
40         out.println("</BODY>");
41         out.println("</HTML>");
42         out.flush();
43         out.close();
44         response.getWriter().append("Served at: ").append(request.getContextPath());
45     }
46 
47     /**
48      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
49      */
50     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
51         // TODO Auto-generated method stub
52         doGet(request, response);
53     }
54 
55 }
技术分享

 

技术分享
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
 3   <display-name>web02</display-name>
 4   <welcome-file-list>
 5     <welcome-file>index.html</welcome-file>
 6     <welcome-file>index.htm</welcome-file>
 7     <welcome-file>index.jsp</welcome-file>
 8     <welcome-file>default.html</welcome-file>
 9     <welcome-file>default.htm</welcome-file>
10     <welcome-file>default.jsp</welcome-file>
11   </welcome-file-list>
12   <servlet>
13       <!-- 声明Servlet对象 -->
14       <servlet-name>FirstServlet</servlet-name>
15       <!-- 上面一句指定Servlet对象的名称 -->
16       <servlet-class>com.ningmeng.FirstServlet</servlet-class>
17       <!-- 上面一句指定Servlet对象的完整位置,包含包名和类名 -->
18   </servlet>
19   <servlet-mapping>
20       <!-- 映射Servlet -->
21       <servlet-name>FirstServlet</servlet-name>
22       <!--<servlet-name>与上面<Servlet>标签的<servlet-name>元素相对应,不可以随便起名  -->
23       <url-pattern>/FirsetServlet</url-pattern>
24       <!-- 上面一句话用于映射访问URL -->
25   </servlet-mapping>
26 </web-app>
技术分享

运行效果如下图所示

技术分享

 

以上是关于servlet在web.xml的配置的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC中,applicationContext.xml [ServletName]-servlet.xml配置文件在web.xml中的配置详解...

Servlet开发技术,创建,以及Servlet的配置,web.xml的配置

在web.xml文件中配置Servlet时,主要配置哪些信息?

如何在 web.xml 中配置 spring-boot servlet?

Java Servlet接口web.xml配置HttpServlet父类

分别用web.xml和@WebServlet配置1个servlet(总计两个servlet),要求如下: