2024/11/11日 日志 关于Servlet ----HttpServlet(下)
使用方法,原理以及配置
点击查看代码
-- 1.HttpServlet 使用步骤
-- 继承HttpServlet
-- 重写doGet和doPost方法
-- 2.HttpServlet原理
-- 获取请求方式,并根据不同的请求方式,调用不同的doXxx方法
--
-- Servlet urlPattern配置
-- Servlet 要想被访问,必须配置其访问路径:(urlPattern)
-- 1.一个Servlet,可以配置多个 urlPatternR
-- @WebServlet(urlPatterns ={"/demo1","/demo2"})
-- 2.urlPattern 配置规则
-- ·1精确匹配
-- ·2目录匹配
-- ·3扩展名匹配
-- ·4任意匹配
--
-- 优先级:
-- 精确路径 >目录路径>扩展名路径>/*
-- 2.urlPattern配置规则:
-- ① 精确匹配:
-- 配置路径:@Webservlet("/user/select")
-- 访问路径:localhost:8080/web-demo/user/select
--
-- ②目录匹配
-- 配置路径:@WebServlet("/user/*")
-- 访问路径:
-- localhost:8080/web-demd/user/aaa
-- localhost:8080/web-demo/user/bbb
--
-- ③ 扩展名匹配:
-- 配置路径:@Webservlet("*.do")
-- 访问路径:
-- localhost:8080/web-demc/aaa.do
-- localhost:8080/web-demo/bbb.do
-- ④ 任意匹配:
-- 配置路径:
-- @WebServlet("/*")
-- aWebServlet("/")
-- 访问路径:
-- localhost:8080/web-demc/hehe
-- localhost:8080/web-demo/haha
--
-- /和/* 区别:
-- 当我们的项目冲的Servlet配置了“/”,会覆盖掉tomcat中的DefaultServlet,
-- 当其他的 url-pattern都匹配不上时都会走这个Servlet
-- 当我们的项目中配置了“/*”,意味着匹配任意访问路径
--
-- package com.itheima.web;
--
-- import javax.servlet.ServletException;
-- import javax.servlet.annotation.WebServlet;
-- import javax.servlet.http.HttpServlet;
-- import javax.servlet.http.HttpServletRequest;
-- import javax.servlet.http.HttpServletResponse;
-- import java.io.IOException;
--
-- /**
-- * urlPattern:
-- * * 精确匹配
-- */
--
-- @WebServlet(urlPatterns = "/user/select")
-- public class ServletDemo8 extends HttpServlet {
--
-- @Override
-- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
-- System.out.println("demo8 get...");
-- }
--
-- @Override
-- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
--
-- }
-- }
--
--
-- package com.itheima.web;
--
-- import javax.servlet.ServletException;
-- import javax.servlet.annotation.WebServlet;
-- import javax.servlet.http.HttpServlet;
-- import javax.servlet.http.HttpServletRequest;
-- import javax.servlet.http.HttpServletResponse;
-- import java.io.IOException;
--
-- /**
-- * urlPattern:
-- * * 目录匹配:/user/*
-- */
--
-- @WebServlet(urlPatterns = "/user/*")
-- public class ServletDemo9 extends HttpServlet {
--
-- @Override
-- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
-- System.out.println("demo9 get...");
-- }
--
-- @Override
-- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
--
-- }
-- }
--
--
-- package com.itheima.web;
-- import javax.servlet.ServletException;
-- import javax.servlet.annotation.WebServlet;
-- import javax.servlet.http.HttpServlet;
-- import javax.servlet.http.HttpServletRequest;
-- import javax.servlet.http.HttpServletResponse;
-- import java.io.IOException;
--
-- /**
-- * urlPattern:
-- * * 扩展名匹配: *.do
-- */
--
-- @WebServlet(urlPatterns = "*.do")
-- public class ServletDemo10 extends HttpServlet {
--
-- @Override
-- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
-- System.out.println("demo10 get...");
-- }
--
-- @Override
-- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
--
-- }
-- }
--
-- package com.itheima.web;
-- import javax.servlet.ServletException;
-- import javax.servlet.annotation.WebServlet;
-- import javax.servlet.http.HttpServlet;
-- import javax.servlet.http.HttpServletRequest;
-- import javax.servlet.http.HttpServletResponse;
-- import java.io.IOException;
--
-- /**
-- * urlPattern:
-- * * 任意匹配:/
-- */
--
-- //@WebServlet(urlPatterns = "/")
-- public class ServletDemo11 extends HttpServlet {
--
-- @Override
-- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
-- System.out.println("demo11 get...");
-- }
--
-- @Override
-- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
--
--
-- }
-- }
--
-- XML 配置方式编写 Servlet
--
-- · Servlet 从3.0版本后开始支持使用注解配置,3.0版本前只支持 XML 配置文件的配置方式
-- · 步骤:
-- 1.编写 Servlet类
-- 2.在 web.xml中配置该Servlet
-- <servlet>
-- <servlet-name>demo5</servlet-name>
-- <servlet-class>com.itheima.web.servlet.ServletDemo5</servlet-class>
-- </servlet>
-- <servlet-mapping>
-- <servlet-name>demo5</servlet-name><url-pattern>/demo5k/url-pattern>
-- </servlet-mapping>
--
-- <!--
-- Servlet 全类名
-- -->
--
-- <servlet>
-- <servlet-name>demo13</servlet-name>
-- <servlet-class>com.itheima.web.ServletDemo13</servlet-class>
-- </servlet>
--
--
-- <!--
-- Servlet 访问路径
-- -->
--
-- <servlet-mapping>
-- <servlet-name>demo13</servlet-name>
-- <url-pattern>/demo13</url-pattern>
-- </servlet-mapping>
-- </web-app>
--