Servlet--配置url-pattern的三种方式及访问路径(绝对、相对)详解

url-pattern的配置

url-pattern配置方式共有三种:

  • 完全路径匹配:
    / \color{red}{/} / 开始
    例如:
	<servlet>
        <servlet-name>LifeCycleServlet</servlet-name>
        <servlet-class>pers.zhang.servlet.LifeCycleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LifeCycleServlet</servlet-name>
        <!-- 访问路径 -->
        <url-pattern>/life</url-pattern>
        <!-- <url-pattern>/aaa/life</url-pattern> -->
        <!-- <url-pattern>/aaa/bbb/life</url-pattern> -->
    </servlet-mapping>
  • 目录匹配:
    / \color{red}{/} / 开始,需要以 ∗ \color{red}{*} 结束
    例如:
	<servlet>
        <servlet-name>LifeCycleServlet</servlet-name>
        <servlet-class>pers.zhang.servlet.LifeCycleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LifeCycleServlet</servlet-name>
        <!-- aaa目录下的所有-->
        <url-pattern>/aaa/*</url-pattern>
        <!-- <url-pattern>/aaa/bbb/*</url-pattern> -->
    </servlet-mapping>
  • 扩展名匹配:
    不 能 \color{red}{不能} / \color{red}{/} / 开始,以 ∗ \color{red}{*} 开始的。
    例如:
   <servlet>
       <servlet-name>LifeCycleServlet</servlet-name>
       <servlet-class>pers.zhang.servlet.LifeCycleServlet</servlet-class>
   </servlet>
   <servlet-mapping>
       <servlet-name>LifeCycleServlet</servlet-name>
       <!-- 以.da结尾的-->
       <url-pattern>*.do</url-pattern>
       <!-- /*.dao 是错误的写法!!! -->
   </servlet-mapping>
  • 缺省路径: / \color{red}{/} /
    通常情况访问html页面时,首先从当前web项目的web.xml文件寻找匹配的路径,如果没有找到,再从tomcat默认的web.xml匹配,将使用缺省的servlet。

注 意 : t o m c a t 获 得 匹 配 路 径 时 , 优 先 顺 序 为 : 1 &gt; 2 &gt; 3 &gt; 4 \color{red}{注意:tomcat获得匹配路径时,优先顺序为:1 &gt; 2 &gt; 3 &gt; 4} tomcat1>2>3>4

开发中的路径编写:
相对路径:

都是需要找位置相对关系,不能以 / 开始。

  • ./ 当前路径
  • ../ 上一级目录
绝对路径:

绝对路径不要找位置相对关系,以 / 开始。
绝对路径中分为客户端路径和服务器路径

  • 客户端路径一定要加 工 程 名 \color{red}{工程名}
    /JavaEEDemo/Life

  • 服务器路径不需要加工程名
    /LIFE

在这里插入图片描述

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是在 Eclipse 中创建名为 "UploadServlet" 的 Servlet 的步骤: 1. 打开 Eclipse IDE,并创建一个新的动态 Web 项目。选择 "File" -> "New" -> "Dynamic Web Project"。 2. 在 "Dynamic Web Project" 对话框中,输入项目名称,例如 "FileUploadDemo"。然后点击 "Next"。 3. 在 "New Dynamic Web Project" 对话框中,选择 "Generate web.xml deployment descriptor" 选项,然后点击 "Next"。 4. 在 "Project Facets" 对话框中,选择 "Java" 和 "Dynamic Web Module",并设置相应的版本。然后点击 "Next"。 5. 在 "Configuration for Dynamic Web Project" 对话框中,设置 "Content Directory" 为 "WebContent"。然后点击 "Finish"。 6. 在 "Project Explorer" 视图中,右键单击 "src" 目录,选择 "New" -> "Servlet"。 7. 在 "New Servlet" 对话框中,输入 "UploadServlet" 作为 Servlet 名称,然后点击 "Next"。 8. 在 "New Servlet" 对话框中,选择 "Use an existing servlet class" 选项,然后点击 "Browse" 按钮。 9. 在 "Select a Servlet Class" 对话框中,选择 "javax.servlet.http.HttpServlet" 类并点击 "OK"。 10. 点击 "Finish" 完成创建 Servlet。 11. 在 UploadServlet 类中,覆盖 doPost() 方法来处理文件上传请求。以下是示例代码: ```java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class UploadServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理文件上传请求 } } ``` 12. 在 doPost() 方法中,使用 Apache Commons FileUpload 库来解析上传文件。以下是示例代码: ```java import org.apache.commons.fileupload.*; import org.apache.commons.fileupload.disk.*; import org.apache.commons.fileupload.servlet.*; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 从 request 中获取文件上传对象 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); // 处理文件上传请求 } ``` 13. 在 doPost() 方法中,遍历文件上传对象列表并保存每个文件。以下是示例代码: ```java for (FileItem item : items) { if (!item.isFormField()) { // 保存上传文件到服务器 File uploadedFile = new File("C:/uploads/" + item.getName()); item.write(uploadedFile); } } ``` 14. 在 doPost() 方法中,返回响应给客户端。以下是示例代码: ```java response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("<h1>File uploaded successfully!</h1>"); out.println("</body></html>"); ``` 15. 最后,在 "web.xml" 文件中添加 Servlet 映射。以下是示例代码: ```xml <servlet> <servlet-name>UploadServlet</servlet-name> <servlet-class>UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping> ``` 16. 运行 Web 应用程序,并在浏览器中输入 "http://localhost:8080/FileUploadDemo/upload" 地址进行文件上传。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值