WebServlet注解起什么作用呢?

Java-教程王 Servlet 发布时间:2021-08-11 22:35:23 阅读数:16789 1
从Servlet3.0之后提供了注解(annotation)配置的方式,
采用这种方式,我们无需在web.xml中配置Servlet的Mapping,
直接采用注解即可实现Mapping的效果,如

servlet3.0之前

servlet3.0之后,我们可以采用以下注解配置的方式配置Servlet

package servlet01;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/helloWorld")
public class ServletHelloWorld extends HttpServlet {

	/**
	 * 
	 */
	// private static final long serialVersionUID = 888;

	private String msg;

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		super.init();
		msg = "java265.com is Java WebSite.";
	}

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		resp.setContentType("text/html");

		// 实际的逻辑是在这里
		PrintWriter o = resp.getWriter();
		o.println("<h1>" + msg + "</h1>");

	}

}

WebServlet注解属性

属性 类型 是否必须 备注
asyncSupported boolean 设置Servlet是否支持异步操作模式
displayName String 设置Servlet显示名称
initParams WebInitParam[] 设置初始化参数
loadonStartup int 设置Web容器启动时,是否加载Servlet
name String 设置Servlet名称
urlPatterns/value String[] 设置Servlet处理的Url

Servlet注解属性详解

  1. loadOnStartup属性:设置web容器是否在启动应用时就加载Servlet,
    默认不配置或数值为负数时表示客户端第一次请求Servlet时再加载;
    0或正数表示启动应用就加载,正数情况下,数值越小,加载该Servlet的优先级越高
  2. name属性:可以指定也可以不指定,通过getServletName()可以获取到,当未指定时,则为Servlet的完整类名
  3. urlPatterns/value属性: String[]类型,可以配置多个映射,
    如:urlPatterns={"/user/test", "/user/example"}
    urlPatterns的常用规则
    /*或者/:拦截所
    *.do:拦截指定后缀
    /user/test:拦截路径
    /user/*.do、/*.do、test*.do都是非法的,启动时候会报错
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/Servlet/202108/178.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者