精华内容
下载资源
问答
  • 一个Servlet可以定义多个访问路径: @webServlet({"/d4" , “/dd4” , “/ddd4”}) 路径定义规则: /xxx :路径匹配 /xxx/xxx:多层路径,录结构 *.do:扩展名匹配 @WebServlet({"/d4","/dd4","/ddd4"}) @WebServlet("/...

    urlpartten:

    Servlet访问路径

    1. 一个Servlet可以定义多个访问路径:
      @webServlet({"/d4" , “/dd4” , “/ddd4”})
    2. 路径定义规则:
      /xxx :路径匹配
      /xxx/xxx:多层路径,录结构
      *.do:扩展名匹配
    @WebServlet({"/d4","/dd4","/ddd4"})
    @WebServlet("/user/demo4")
    @WebServlet("/user/*") //任意
    @WebServlet("/*") //更加随意,优先级很低
    @WebServlet("*.do") //.后面的名称自定义
    
    public class ServletDemo4 extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("demo4...");
        }
    }
    
    展开全文
  • 如果在web.xml配置,可以使多个url指向同一个servlet类 <servlet> ... 那么使用@WebServlet(" ")注解怎么使多个url都指向这个servlet呢? 比如在加个 /student/edit.do 和 /student/delete.do
  • servlet@webServlet注解出错导致404

    千次阅读 2019-04-17 16:54:31
    servlet@webServlet注解出错导致404,问题描述:我自己写了一jsp的表格用post请求访问Servlet,但是不管路径怎么写都不对,一直报404错误

      问题描述:我自己写了一个jsp的表格用post请求访问Servlet,但是不管路径怎么写都不对,一直报404错误

     

     

         bug原因及解决方法:@WebServlet注解里的name属性对应着<servlet-name>,我只写了name,没有配置<url-pattern>(路径就对应于这个),<url-pattern>对应的注解是urlpatterns或者value,value介意省略不写。所以修改@WebServlet里面的值就好了。

    @WebServlet(name="Cservlet",urlpatterns="/CServlet");  //第一种写法,使用urlpatterns属性
    @WebServlet("/CServlet")     //第二种写法,使用value属性

      更多字段可以去官网查询 https://docs.oracle.com/javaee/7/api/ 查找javax.servlet.annotation中的WebServletbin

    展开全文
  • Servlet3.0下@WebServlet注解配置Servlet

    千次阅读 2018-05-07 10:21:01
    @WebServlet注解配置Servlet从Servlet3.0开始,配置Servlet支持注解方式,但还是保留了配置web.xml方式,所有使用Servlet有两种方式:Servlet类上使用@WebServlet注解进行配置web.xml文件配置@WebServlet常用属性...

    @WebServlet注解配置Servlet

    从Servlet3.0开始,配置Servlet支持注解方式,但还是保留了配置web.xml方式,所有使用Servlet有两种方式:

    1. Servlet类上使用@WebServlet注解进行配置
    2. web.xml文件中配置

    @WebServlet常用属性

    属性类型是否必须说明
    asyncSupportedboolean指定Servlet是否支持异步操作模式
    displayNameString指定Servlet显示名称
    initParamsWebInitParam[]配置初始化参数
    loadOnStartupint标记容器是否在应用启动时就加载这个Servlet
    nameString指定Servlet名称
    urlPatterns/valueString[]这两个属性作用相同,指定Servlet处理的url
    测试代码如下:

    1.UserServlet

    通过注解方式配置,web.xml中不需要配置该Servlet

    [java]  view plain  copy
    1. @WebServlet(name = "myUserServlet",   
    2.     urlPatterns = "/user/test",   
    3.     loadOnStartup = 1,    
    4.     initParams = {  
    5.             @WebInitParam(name="name", value="小明"),   
    6.             @WebInitParam(name="pwd", value="123456")  
    7.     }  
    8. )  
    9. public class UserServlet extends HttpServlet {  
    10.     private static final long serialVersionUID = 7109220574468622594L;  
    11.       
    12.     @Override  
    13.     public void init(ServletConfig config) throws ServletException {  
    14.         super.init(config);  
    15.           
    16.         System.out.println("servlet初始化...");  
    17.     }  
    18.       
    19.     @Override  
    20.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
    21.         response.setContentType("text/html");  
    22.         response.setCharacterEncoding("utf-8");  
    23.         PrintWriter pw = response.getWriter();  
    24.           
    25.         pw.append("Hello Servlet!<br>" );  
    26.           
    27.         //servletName  
    28.         pw.append("servletName:" + getServletName() + "<br>");  
    29.           
    30.         //initParam  
    31.         ServletConfig servletConfig = this.getServletConfig();  
    32.         Enumeration<String> paramNames = servletConfig.getInitParameterNames();  
    33.         while (paramNames.hasMoreElements()) {  
    34.             String paramName = paramNames.nextElement();  
    35.             pw.append(paramName + ":" + servletConfig.getInitParameter(paramName) + "<br>");  
    36.         }  
    37.           
    38.         pw.close();  
    39.           
    40.     }  
    41.   
    42.   
    43.     @Override  
    44.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
    45.         doGet(request, response);  
    46.     }  
    47. }  

    2.测试结果

    2.1应用启动时,servlet就会初始化,因为配置了loadOnStartup=1


    2.2访问/user/test,页面上显示结果;表名参数正确初始化以及自定义的servlet名称


    3.注

    (1).loadOnStartup属性:标记容器是否在启动应用时就加载Servlet,默认不配置或数值为负数时表示客户端第一次请求Servlet时再加载;0或正数表示启动应用就加载,正数情况下,数值越小,加载该Servlet的优先级越高;
    (2). name属性:可以指定也可以不指定,通过getServletName()可以获取到,若不指定,则为Servlet的完整类名,如:cn.edu.njit.servlet.UserServlet
    (3).urlPatterns/value属性: String[]类型,可以配置多个映射,如:urlPatterns={"/user/test", "/user/example"}
    (4).在使用注解方式时,需要注意
    • <web-app> </web-app>根元素中不能配置属性metadata-complete="true",否则无法加载Servlet。metadata-complete属性表示通知Web容器是否寻找注解,默认不写或者设置false,容器会扫描注解和Web分片,为Web应用程序构建有效的元数据;设置true,表示将由部署描述符为Web程序提供所有的配置信息
    • web.xml中不能再配置该Servlet
    (5).urlPatterns的常用规则
    • /*或者/:拦截所有
    • *.do:拦截指定后缀
    • /user/test:拦截路径
    • /user/*.do、/*.do、test*.do都是非法的,启动时候会报错
    (6).urlPatterns的配置规则:精确匹配、扩展名匹配、路径匹配以及会包含一些优先级,这些在以后会整理。
    展开全文
  • 好处:支持注解配置,可以不需要web.xml了 步骤: ...(4)在类上使用@WebServlet注解,进行配置 * @WebServlet("资源路径") Java EE6版本后才可用 Servlet 3.0 及以后的版本版本 创建一新的Mod...

    好处:支持注解配置,可以不需要web.xml了

    步骤:

    1)创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
    (2)定义一个类,实现Servlet接口
    (3)复写方法
    (4)在类上使用@WebServlet注解,进行配置
    		* @WebServlet("资源路径")
    

    Java EE6版本后才可用 Servlet 3.0 及以后的版本版本
    在这里插入图片描述
    创建一个新的Module 这里不创建 xml 文件
    在这里插入图片描述

    package test;
    
    import javax.servlet.*;
    import javax.servlet.annotation.WebServlet;
    import java.io.IOException;
    //不配置xml 文件,通过 servlet3.0 特性配置
    //@WebServlet(urlPatterns = "/demo")
    @WebServlet("/demo")//也可以直接写值即可
    public class ServletDemo implements Servlet {
    
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
    
        }
    
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
    
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("Servlet3.0 来了");
    
        }
    
        @Override
        public String getServletInfo() {
            return null;
        }
    
        @Override
        public void destroy() {
    
        }
    }
    
    

    访问成功:
    在这里插入图片描述

    展开全文
  • 1. 如何实现Servlet,代码如下 ...import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResp
  • 就可以对其进行简化,不再需要创建web.xml了,而是使用@WebServlet注解进行设置。 @WebServlet官方介绍 关于该注解,官方文档解释的十分清楚,这里搬运一波:Annotation Type WebServlet](http://tomcat.ap...
  • @WebServlet 注解的url 路径填写错误 @WebServlet属性详解 name :指定Servlet 的 name 属性,等价于 。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。 value :该属性等价于 urlPatterns 属性。两...
  • 一、Servlet的传统配置方式 ...@WebServlet注解用于标注在一继承了HttpServlet类之上,属于类级别的注解。 用法形如: @WebServlet("/RegistServlet") public class RegistServlet extends HttpSe
  • 2Servlet注解中访问路径的写法 1 Servlet体系结构 Servlet -- 接口 | GenericServlet -- 抽象类 | HttpServlet -- 抽象类 GenericServlet:将Servlet接口其他的方法做了默认空实现,只将service()方法...
  • Servlet@WebServlet属性详解

    万次阅读 多人点赞 2019-09-05 15:49:14
    在Servlet,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,如果注解@WebServlet("/category"),则表示该Servlet默认的请求路径为…/category,这里省略了urlPatterns属性名,完整的写法应该...
  • 文章目录一、servlet说明二、servlet作用二、servlet注解三、servlet实例 一、servlet说明 servlet是JavaWeb开发的基础。实际开发还是用框架比较,servlet被封装在最底层。 servlet3.0之前,我们需要在web....
  • 在Servlet,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,如果注解@WebServlet("/category"),则表示该Servlet默认的请求路径为…/category,这里省略了urlPatterns属性名,完整的写法应该...
  • 用Eclipse新版本新建servlet时候,发现创建Servlet后,Eclipse不会自动在web.xml生成该Servlet对应的mapping信息,而是在Servlet代码加入注解@WebServlet,如下 分析: 查找文档发现,这是Servlet3.0新特性...
  • WebServlet 4.0

    2020-03-21 10:10:35
    目录结构 ... import javax.servlet.ServletException;...import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReq...
  • 若在配置文件配置路径有效而使用注解无效,可能是因为缺少两jar包,需要从Tomcat文件夹的lib文件夹下导入项目(我学eclipse的时候导入了,但是用IDEA的时候没有,它也不报错,折腾了好久才解决的 o(╥﹏╥)o...
  • 数字代表了Servlet的初始顺序,容器必须保证有较小数字的Servlet先初始化,在使用标注的情况下,如果有多个Servlet在设置loadOnStartup时使用了相同的数字,则容器实现厂商可以自行决定要如何载入哪个Servlet。...
  • 旧版本的Servletweb.xml文件配置,内容如下: <servlet> <servlet-name>UserServlet</servlet-name> <servlet-class>net.tjk.web.UserServlet</servlet-class> </servlet&...
  • 使用注解WebServlet配置Servlet报404错误的原因 Servlet3.0之后新增了注解,用于简化Servlet、Filter及Listener的声明,这样就在配置Servlet的时候了一选择。Servlet3.0的部署描述文件web.xml的顶层标签<web-...
  • @WebServlet

    2018-05-24 15:10:24
    从Servlet3.0开始,配置Servlet支持注解方式,即@WebServlet,但还是保留了配置web.xml方式,所有使用Servlet有两种方式:1、Servlet类上使用@WebServlet注解进行配置@WebServlet(name = "UserServlet", ...
  • 因为在网上搜寻半天发现没有关于@WebFilter注解如何设置多个参数的方法,参考其他博主的文章和自己的实践,写下此笔记,供大家参考 Servlet3.0提供@WebFilter注解将一个实现了javax.servlet.Filter接口的类定义为...
  • 动态资源:java代码(servlet、jsp) 3. Tomcat项目发布的三种方式 放置到webapps目录下 修改server.xml 自定义xml文件【推荐】 4. Idea配置Tomcat,创建web项目,部署web项目 javaEE7版本 5. ...
  • package com.servlet;   import java.io.IOException; import java.io.PrintWriter; ... import javax.servlet.ServletException;... import javax.servlet.annotation.WebServlet; impo...
  • 一、虚拟路径 配置虚拟路径 ... web.xml配置文件的虚拟路径  <servlet-mapping> <url-pattern>/demo5</url-pattern> </servlet-mapping> 三种配置方法  * 完全路...
  •  Servlet3.0是Java EE6规范的一部分,Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件进行Servlet的部署描述,简化开发流程。 二、开发Servlet3.0程序的所需要的环境  开发

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,571
精华内容 27,028
关键字:

webservlet注解中多个路径