精华内容
下载资源
问答
  • Servlet中@WebServlet属性详解

    万次阅读 多人点赞 2019-09-05 15:49:14
    在Servlet中,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,如果注解@WebServlet("/category"),则表示该Servlet默认的请求路径为…/category,这里省略了urlPatterns属性名,完整的写法应该...

    在Servlet中,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,如果注解@WebServlet("/category"),则表示该Servlet默认的请求路径为…/category,这里省略了urlPatterns属性名,完整的写法应该是:@WebServlet(urlPatterns = “/category”),如果在@WebServlet中需要设置多个属性,必须给属性值加上属性名称,中间用逗号隔开,否则会报错.
    若没有设置@WebServlet的name属性,默认值会是Servlet的类完整名称.

    在servlet3.0以后,web.xml中对Servlet配置,同样可以在@WebServlet注解中配置.
    下面是@WebServlet的属性列表:

    属性名 类型 描述
    name String 指定Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
    value String[] 该属性等价于 urlPatterns 属性。两个属性不能同时使用。
    urlPatterns String[] 指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。
    loadOnStartup int 指定 Servlet 的加载顺序,等价于 <load-on-startup>标签。
    initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于<init-param>标签。
    asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于<async-supported> 标签。
    description String 该 Servlet 的描述信息,等价于 <description>标签。
    displayName String 该 Servlet 的显示名,通常配合工具使用,等价于 <display-name>标签。
    展开全文
  • Servlet3.0下@WebServlet注解配置Servlet

    万次阅读 多人点赞 2017-04-17 18:31:05
    @WebServlet注解配置Servlet

    @WebServlet注解配置Servlet

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

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

    @WebServlet常用属性

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

    1.UserServlet

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

    @WebServlet(name = "myUserServlet", 
    	urlPatterns = "/user/test", 
    	loadOnStartup = 1,  
    	initParams = {
    			@WebInitParam(name="name", value="小明"), 
    			@WebInitParam(name="pwd", value="123456")
    	}
    )
    public class UserServlet extends HttpServlet {
    	private static final long serialVersionUID = 7109220574468622594L;
    	
    	@Override
    	public void init(ServletConfig config) throws ServletException {
    		super.init(config);
    		
    		System.out.println("servlet初始化...");
    	}
    	
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
    		response.setCharacterEncoding("utf-8");
    		PrintWriter pw = response.getWriter();
    		
    		pw.append("Hello Servlet!<br>" );
    		
    		//servletName
    		pw.append("servletName:" + getServletName() + "<br>");
    		
    		//initParam
    		ServletConfig servletConfig = this.getServletConfig();
    		Enumeration<String> paramNames = servletConfig.getInitParameterNames();
    		while (paramNames.hasMoreElements()) {
    			String paramName = paramNames.nextElement();
    			pw.append(paramName + ":" + servletConfig.getInitParameter(paramName) + "<br>");
    		}
    		
    		pw.close();
    		
    	}
    
    
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    }

    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的配置规则:精确匹配、扩展名匹配、路径匹配以及会包含一些优先级,这些在以后会整理。
    展开全文
  • 关于servlet的@WebServlet注解

    万次阅读 多人点赞 2018-06-25 21:54:35
    @WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。     1、jsp页面 通过action提交到RegistServlet 类:  &lt;form action="RegistServlet " method="post&...

    @WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。

     

     

    1、jsp页面 通过action提交到RegistServlet

     <form action="RegistServlet " method="post" >

    2、创建RegistServlet类来处理jsp页面发出的请求

    用法形如:

    @WebServlet("/RegistServlet")

    public class RegistServlet extends HttpServlet{

    // 处理 GET 方法请求的方法

    //public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

     

    //处理POST方法请求的方法

     

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    其中/RegistServlet表示访问该servlet的 url 映射(地址)(此处为相对路径,即 “项目名称/RegistServlet” )。

     

    该注解的作用等价于 在web.xml中配置的该servlet的<servlet-mapping>元素中<url-pattern>的配置,比如:

    <servlet>
    <!-- 类名 -->
    <servlet-name>RegistServlet</servlet-name>
    <!-- 所在的包 -->
    <servlet-class>test.RegistServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>RegistServlet</servlet-name>
    <!-- 访问的网址 -->
    <url-pattern>/RegistServlet</url-pattern>
    </servlet-mapping>

    此时,访问如下两个路径的效果是一样的,不互斥:

    http://localhost:8080/test/RegistServlet

    http://localhost:8080/test/RegistServlet

    此为在本机上进行的测试,其中test为项目名称。

     

     

    展开全文
  • WebServlet注解

    千次阅读 2016-02-18 16:29:34
    在servlet中使用@WebServlet("/") 注解,可以简化访问路径的映射: 导入WebServlet相关的jar包 import javax.servlet.annotation.WebServlet; @WebServlet("/ReadCookies") //扩展 HttpServlet 类 ...

    在servlet中使用@WebServlet("/") 注解,可以简化访问路径的映射:

    导入WebServlet相关的jar包


    import javax.servlet.annotation.WebServlet;


    @WebServlet("/ReadCookies")
    //扩展 HttpServlet 类
    public class ReadCookies extends HttpServlet {

    }


    这样可以直接通过:http://localhost:8080/项目名称/ReadCookies访问该servlet了。

    展开全文
  • Servlet中@WebServlet的作用

    千次阅读 2019-04-12 00:32:47
    web3.0中的servlet的类注解@WebServlet("/MyWeb")作用是为了代替web3.0一下的web.xml中的servlet的<servlet-mapping>元素中servlet的配置 (web3.0以下版本的servlet类没有类注解) ...
  • @WebServlet("/")与@WebServlet("/*")

    千次阅读 2018-10-10 13:20:53
    @WebServlet("/") 这样配置时,不过滤(放行)jsp文件。只有jsp不进控制器(servlet),其他都进 @WebServlet("/*") 过滤所有文件。
  • 在Servlet2.5规范之前,Java Web应用的绝大部分组件都通过web.xml文件来配置管理。...所以说,在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该s...
  • Servlet3.0注解@WebInitParam和@WebServlet

    万次阅读 2016-10-21 15:40:53
    在以前的servlet中我们初始化一些参数都是配置在web.xml中的,自从servlet3.0之后给我们提供了注解@WebServlet和@WebInitParam,@WebServlet是用来配置servlet的属性的,@WebInitParam是用来配置一些初始化属性的。...
  • servlet的@WebServlet注解

    千次阅读 2017-12-02 23:29:36
    @WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。 用法形如: @WebServlet("/DisplayHeader1") // 扩展 HttpServlet 类 public class DisplayHeader extends HttpServlet { ...
  • @WebServlet替代servlet的xml配置

    千次阅读 2018-01-11 14:41:09
    原始xml配置如下: servlet-name>Test servlet-class>... servlet-mapping> servlet-name>Test url-pattern>/test 采用@WebServlet配置如下 ...@WebServlet(name="test",urlPatterns="/test") public class te
  • @WebServlet注解配置Servlet

    千次阅读 2018-02-26 22:58:58
    以@WebServlet("/XxxServlet")注解的形式配置Servlet后一直显示404,在移除Tomcat后,再重新加载,就成功了,之后又遇到500错误,导入jar包后也得到解决
  • @WebServlet注解无效访问servlet报404

    千次阅读 2020-06-24 10:47:58
    @WebServlet(name = "transferServlet",urlPatterns = "/transferServlet") public class TransferServlet extends HttpServlet { tomcat正常启动,页面正常运行,当访问servlet时出现无响应的情况,控制台报错...
  • @WebServlet注解的使用

    万次阅读 2018-09-05 13:55:32
    在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。web.xml可以配置的servlet属性,在@WebServlet中都可以配置。 @WebServlet属性列表: 属性名 ...
  • 以前一直用的eclipse,web.xml文件自动生成的,没自己改过。...Servlet中写了注解@WebServlet("xxxx"),但访问servlet时报404错误。 看了web的确是3.0以上的,没找到问题在哪,看了篇博客解决了:https://www.cnblog...
  • 关于servlet的@WebServlet注解。

    万次阅读 多人点赞 2016-09-04 12:16:59
    @WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。 用法形如: @WebServlet("/DisplayHeader1") // 扩展 HttpServlet 类 public class DisplayHeader extends HttpServlet { ...
  • @webservlet注解详解

    千次阅读 2020-01-07 22:29:26
    @webservlet的使用,属性,作用,注意事项
  • servlet中@webServlet注解出错导致404

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

    千次阅读 2014-03-28 16:47:50
    编写好Servlet之后,接下来要告诉Web容器有关于这个Servlet的一些信息。在Servlet 3.0中,可以使用标注(Annotation)来告知容器哪些... @WebServlet(“/hello.view”)  public class HelloServlet extends HttpSe
  • @WebServlet的使用方法

    万次阅读 2017-08-22 19:00:05
    在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。 下面是@WebServlet的属性列表。 属性名 类型 描述 name String ...
  • 1、Servlet 三大组件 Servlet、Filter、...Servlet 3.0 开始在 javax.servlet.annotation 包下提供 3 个对应的 @WebServlet、@WebFilter、@WebListener 注解来简化操作。 2、@WebServlet、@WebFilter、@WebListen...
  • 使用@WebServlet注解来开发Servlet

    千次阅读 2017-09-08 09:43:35
    你可以像下面的例子一样使用 @WebServlet 注解并且不需要在web.xml里为Servlet注册任何信息。容器会自动注册你的Servlet到运行环境,并且像往常一样处理它。 package com.howtodoinjava.servlets;   import
  • @WebInitParam,@WebServlet,@WebFilter

    千次阅读 2018-08-27 11:34:12
    Servlet3.0注解@WebInitParam和@WebServlet https://blog.csdn.net/qq924862077/article/details/52883973 @WebServlet是用来配置servlet的属性的,@WebInitParam是用来配置一些初始化属性的。   Servlet中的...
  • servlet类中@WebServlet 报错,不变色

    万次阅读 2017-04-23 17:44:20
    加上javax.servlet.annotation.WebServlet后依然是报错。解决方法:到安装tomcat的目录下找到lib,里面有个servlet-api.jar复制到目录中,Build Path一下。另外在web.xml中也可配置在&lt;web-app&gt;中配置...
  • @WebServlet的属性列表

    千次阅读 2018-04-18 20:49:48
    在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。下面是@WebServlet的属性列表。属性名类型描述nameString指定Servlet 的 name 属性,等价于 &...
  • @WebServlet简介@WebServlet标注允许servlet映射声明在servlet代码,作用同通过映射部署描述符(web.xml)文件的servlet.简单示例:package com.test.z;import java.io.IOException; import java.io.PrintWriter; ...
  • 编写好Servlet之后,接下来要告诉Web容器有关于这个Servlet的一些信息。...例如在HelloServlet.java中:@WebServlet("/hello.view") public class HelloServlet extends HttpServlet { //只...
  • @WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。 用法形如: @WebServlet(“/DisplayHeader1”) package tuzi.com; import java.io.IOException; import java.io.PrintWriter; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 114,438
精华内容 45,775
关键字:

webservlet