servlet3.0新特性 Annotation注解配置

来源:互联网 发布:mac系统电脑玩英雄联盟 编辑:程序博客网 时间:2024/06/05 03:01

    servlet3.0新特性Servlet3.0引入的若干重要新特性,包括异步处理、新增的注解支持、可插性支持等等,为读者顺利向新版本过渡扫清障碍.Servlet3.0新特性概述Servlet3.0作为JavaEE6规范体系中一员,随着JavaEE6规范一起发布。

1.Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置;

2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置。

3.Servlet异步处理,应对复杂业务处理;

4.异步Listener,对于异步处理的创建、完成等进行监听;

5. 文件上传API简化;

Annotation支持

servlet3.0不需要在web.xml中配置跳转的servlet而是采用注解的方法:

  @WebServlet 用于将一个类声明为 Servlet该注解将会在部署时被容器处理容器将根据具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性以下所有属性均为可选属性但是 vlaue 或者 urlPatterns 通常是必需的且二者不能共存如果同时指定通常是忽略 value 的取值
  @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> 标签。


多个功能配置一个Servlet

@WebServlet(name="MyServlet",urlPatterns="/mys/*",initParams={@WebInitParam (name="name",value="zhangsan")})public class MyServlet extends HttpServlet {}
处理数据
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();request.setCharacterEncoding("utf-8");// /more/mys/login.doString path = request.getRequestURI();System.out.println(path);// 截取名称String str = path.substring(path.lastIndexOf("/") + 1,path.indexOf("."));if ("login".equals(str)) {out.println("login..........");} else if ("reg".equals(str)) {out.println("注册..........");} else if ("add".equals(str)) {out.println("添加..........");}out.flush();out.close();}
  <body>    <form method="post" action="mys/reg.do" name="frm">        <input type="submit" value="注册">       </form>    </body>
add.jsp页面
 <body>    <form method="post" action="mys/add.do" name="frm">        <input type="submit" value="注册">       </form>    </body>




原创粉丝点击