您的位置:首页 > 其它

Servlet3.0介绍~使用注解标注Servlet

2016-09-29 12:25 417 查看
Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述。

在Servlet3.0中,可以使用@WebServlet注解将一个继承于javax.servlet.http.HttpServlet的类标注为可以处理用户请求的Servlet。

@WebServlet注解的相关属性
NO.属性名描述
1asyncSupported声明Servlet是否支持异步操作模式
2descriptionServlet的描述信息
3displayNameServlet的显示名称
3initParamsServlet的初始化参数
5nameServlet的名称
6urlPatternsServlet的访问URL
7valueServlet的访问URL
  Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。

  像上面的Servlet3Demo可以描述成@WebServlet(name="Servlet3Demo",value="/Servlet3Demo")。

  也定义多个URL访问:

  如@WebServlet(name="Servlet3Demo",urlPatterns={"/Servlet3Demo","/Servlet3Demo2"})

  或者@WebServlet(name="AnnotationServlet",value={"/Servlet3Demo","/Servlet3Demo2"})

package me.gacl.web.controller;

import java.io.IOException;
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用来描述一个Servlet
* 属性name描述Servlet的名字,可选
* 属性urlPatterns定义访问的URL,或者使用属性value定义访问的URL.(定义访问的URL是必选属性)
*/
@WebServlet(name="Servlet3Demo",urlPatterns="/Servlet3Demo")
public class Servlet3Demo extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("Hello Servlet3.0");
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}

/*
* 完成了一个使用注解描述的Servlet程序开发。
  使用@WebServlet将一个继承于javax.servlet.http.HttpServlet的类定义为Servlet组件。
  @WebServlet有很多的属性:
  1、asyncSupported:    声明Servlet是否支持异步操作模式。
  2、description:      Servlet的描述。
  3、displayName:       Servlet的显示名称。
  4、initParams:        Servlet的init参数。
  5、name:           Servlet的名称。
  6、urlPatterns:     Servlet的访问URL。
  7、value:           Servlet的访问URL。
  Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。
  像上面的Servlet3Demo可以描述成@WebServlet(name="Servlet3Demo",value="/Servlet3Demo")。
  也定义多个URL访问:
  如@WebServlet(name="Servlet3Demo",urlPatterns={"/Servlet3Demo","/Servlet3Demo2"})
  或者@WebServlet(name="AnnotationServlet",value={"/Servlet3Demo","/Servlet3Demo2"})
*
*/
访问:http://localhost:8080/Servlet3.0Study/Servlet3Demo

总结:Servlet3.0提供了注解之后对于Servlet的开发就方便多了,省去了在web.xml文件中配置。

实例:

1、新建项目,项目名称:FirstServlet

2、在FirstServlet中,新建servlet:HelloServlet

3、代码:

@WebServlet(urlPatterns = {"/NewServlet111"})
public class HelloServlet  extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
out.println("<html>");
out.println("<head>");
out.println("<title>Hello Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1> Hello! " + name + " !</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
4、浏览器输入:http://localhost:8080/FirstServlet/NewServlet111?name=caterpillar 

5、页面显示:Hello! caterpillar!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: