java web.xml配置servlet

本文详细介绍了如何在JavaWeb中配置servlet并实现简单的HTTP请求处理,包括GET和POST方法,通过web.xml文件进行地址映射,使servlet能够被外部访问。

java web.xml配置servlet

   

    文件名:“SimpleServlet.java”

package cn.mldn.lxh.servlet;//定义包

import java.io.*;
//HttpServlet属于javax.servlet.http包下
//ServletException属于javax.servlet包下
import javax.servlet.*;//导入HttpServlet所属的包
//HttpServletRequest、HttpServletResponse存放在javax.servlet.http包下
importjavax.servlet.http.* ;

public class SimpleServlet extendsHttpServlet
{
      // 表示处理get请求
      public void doGet(HttpServletRequest req,HttpServletResponse resp)throws IOException,ServletException //抛出异常
      {
             PrintWriter out = resp.getWriter();//实例化out对象。
             out.println("<HTML>");
             out.println("<HEAD>");
             out.println("<TITLE>THE FIRSTSERVLET</TITLE>") ;
             out.println("</HEAD>");
             out.println("<BODY>");
             out.println("<H1>HelloWorld!!!</H1>") ;
             out.println("</BODY>");
             out.println("</HTML>");
             out.close() ;
      }

      public void doPost(HttpServletRequest req,HttpServletResponse resp)throws IOException,ServletException
      {
             this.doGet(request,response) ;
      }
};

 

     JSP功能和servlet一致,也就是说servlet可以被外部访问,那么要访问它就需要通过一个地址,因此只有通过WEB的地址映射来解决。

     如何进行地址映射呢?

     通过修改web.xml文件进行。

<servlet>
      <servlet-name>simple</servlet-name>//我们定义的servlet应用名字
      <servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>//我们定义的servlet应用名字对应的具体class文件
</servlet>

<servlet-mapping>  //地址映射
      <servlet-name>simple</servlet-name>//我们定义的servlet应用名字
      <url-pattern>/demo</url-pattern>//地址名
</servlet-mapping>

 

    进行地址映射目的是为了使用servlet,它的工作过程是:

    工作过程:输入地址:http://localhost:8080/ demo,

   通 过它找到映射文件内部的文件名simple,通过simple找到对应的<servlet-name>simple</servlet-name>,然后定位到这个servlet文件:cn.mldn.lxh.servlet.SimpleServlet

 

   由此可见,<servlet-name>simple</servlet-name>中的名字simple不一定一定要与servlet的文件名“SimpleServlet.java”一致,它只是在对web.xml文件配置的时候我们对servlet应用名字的定义,通过<servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>我们就可以定位到这个servlet文件。

 

   注意:通过配置web.xml文件的servlet,可以直接系统外访问。一般用于单点登录等系统外登录。)

       servlet可以被外部访问,访问它需要一个地址,只有通过WEB的地址映射来解决

 

### 如何在 Eclipse 中通过 `web.xml` 配置 Servlet 要在 Eclipse 中通过 `web.xml` 文件配置 Servlet,可以按照以下方式进行操作: #### 1. 创建动态 Web 项目并启用 `web.xml` 如果在创建动态 Web 项目时未自动生成 `web.xml` 文件,则可以通过调整项目的 Java EE 版本来解决此问题。确保项目的 Dynamic Web Module 设置为低于 **4.0** 的版本(例如 3.1 或更早),因为从 Servlet API 4.0 开始,默认情况下不再强制生成 `web.xml` 文件[^3]。 #### 2. 找到并编辑 `web.xml` 文件 在项目的 `WEB-INF` 目录下找到 `web.xml` 文件,并对其进行必要的修改。以下是典型的 `web.xml` 配置结构: ```xml <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!-- 定义 Servlet --> <servlet> <servlet-name>CheckParamServlet</servlet-name> <servlet-class>servlet.CheckParamServlet</servlet-class> </servlet> <!-- 映射 URL 到 Servlet --> <servlet-mapping> <servlet-name>CheckParamServlet</servlet-name> <url-pattern>/checkparam</url-pattern> </servlet-mapping> </web-app> ``` 上述代码定义了一个名为 `CheckParamServlet` 的 Servlet 并将其映射到 `/checkparam` 路径上[^5]。 #### 3. 解决可能的冲突问题 需要注意的是,在某些情况下可能会遇到注解和 `web.xml` 同时配置同一 Servlet 导致的冲突问题。例如,如果已经在 Servlet 类中使用了 `@WebServlet("/servlet/CheckParamServlet")` 注解,则无需再在 `web.xml` 中重复配置Servlet 和其路径映射[^2]。可以选择删除其中一种配置方式来解决问题。 #### 4. 测试配置的有效性 完成以上步骤后,启动 Apache Tomcat Server 来测试配置是否生效。如果仍然无法正常访问 Servlet,可能是由于 servlet-class 的路径不正确引起的。此时建议通过右键单击 Servlet 文件并选择 “Run As -> Run on Server”,观察浏览器中的实际访问路径,并据此修正 `web.xml` 中的相关配置[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值