Servlet3.0 注解
2019-05-05 22:06
99 查看
Servlet3.0 注解
在 Servlet3.0 之前一直使用的都是配置文件的方式来实现各种组件,Servlet3.0 之后提供了注解,可以达到零配置。但现实中一般是注解+配置结合使用。我们看几个常用的注解。
1. @WebServlet
开发 servlet 项目,使用@WebServlet 将一个继承于,javax.servlet.http.HttpServlet 的类定义为 Servlet 组件。在 Servlet3.0 中,可以使用@WebServlet 注解将一个继承于 javax.servlet.http.HttpServlet 的类标注为可以处理用户请求的 Servlet.
实例:
[code]/** * 使用@WebServlet将一个继承于javax.servlet.http.HttpServlet 的类定义为Servlet组件 */ @WebServlet("/s01") // "/s01"就是servlet的对外访问路径,相当于配置文件中url-pattern //@WebServlet(name="Servlet01",value="/s01") //@WebServlet(name="Servlet01",value={"/s01","/s001"}) //@WebServlet(urlPatterns="/s01") //@WebServlet(urlPatterns={"/s01","/s001"}) public class Servlet01 extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Servlet01..."); } }
2. @WebFilter
@WebFilter 用来配置过滤器
实例:
[code]@WebFilter("/*") public class Filter01 implements Filter { /** * Default constructor. */ public Filter01() { // TODO Auto-generated constructor stub } /** * @see Filter#destroy() */ public void destroy() { // TODO Auto-generated method stub } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Filter01..."); chain.doFilter(request, response); } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub } }
3. @WebListener
Servlet3.0 提供@WebListener 注解将一个实现了特定监听器接口的类定义为监听器。将 实现了 ServletContextListener 接口的MyServletContextListener标注为监听器。
实例:
[code]@WebListener public class Listener01 implements HttpSessionListener { /** * Default constructor. */ public Listener01() { // TODO Auto-generated constructor stub } /** * @see HttpSessionListener#sessionCreated(HttpSessionEvent) */ public void sessionCreated(HttpSessionEvent se) { // TODO Auto-generated method stub } /** * @see HttpSessionListener#sessionDestroyed(HttpSessionEvent) */ public void sessionDestroyed(HttpSessionEvent se) { // TODO Auto-generated method stub } }
4. @MultipartConfig
使用注解@MultipartConfig 将一个 Servlet 标识为支持文件上传。Servlet3.0 将 multipart/form-data 的 POST 请求封装成 Part,通过 Part 对上传的文件进行操作.
注意:
如果前台的表单类型是enctype="multipart/form-data",servlet一定要加注解@MultipartConfig!!!!
实例:
[code]/** * @MultipartConfig 使用注解@MultipartConfig 将一个 Servlet 标识为支持文件上传。 Servlet3.0 将 multipart/form-data 的 POST 请求封装成 Part,通过 Part 对上传的文件进行操作。 文件上传 前台: 表单上传 1、表单的提交方式为POST 2、表单类型 enctype="multipart/form-data" 3、file文件域要设置name属性值 后台: 在Servlet类上添加注解@MultipartConfig 注意: 如果前台的表单类型是enctype="multipart/form-data",servlet一定要加注解@MultipartConfig!!!! */ @MultipartConfig @WebServlet("/upload") public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 如果是普通的表单项,就是通过获取参数的方式 request.getParameter() String uname = request.getParameter("uname"); System.out.println(uname); // Servlet3.0 将 multipart/form-data 的 POST 请求封装成 Part // request.getPart("myfile"):myfile代表的是前台表单中的文件域的 name属性值 Part part = request.getPart("myfile"); // 得到上传的文件名 String fileName = part.getSubmittedFileName(); // 上传文件到指定目录 part.write(request.getServletContext().getRealPath("/") + fileName); } }
相关文章推荐
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet 3.0 新特性详解(三)注解支持
- servlet3.0新特性 Annotation注解配置
- Servlet3.0注解新特性笔记 (转载IBM)
- Servlet3.0 注解与配置文件
- servlet3.0 使用注解(一)
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
- servlet3.0新特性——注解支持
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
- java Servlet3.0 使用注解标注Servlet @WebServlet
- Servlet3.0学习总结(一)——使用注解标注Servlet
- 【Servlet3.0新特性】第01节_Servlet注解及异步支持
- Servlet3.0介绍~使用注解标注监听器(Listener)和过滤器(Filter)
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
- servlet3.0以上的配置(@WebServlet 注解)
- 【Servlet3.0新特性】第02节_Servlet的动态注册以及使用注解编写监听器和过滤器
- 注解&servlet3.0