servlet3.0新的特性

来源:互联网 发布:aceplayer mac 编辑:程序博客网 时间:2024/06/03 20:52

1.注解代替配置
1.1配置Servlet
在一个类的上面用@WebServlet(“/test”)
就是把某个类配置称一个Servlet
例如下:

**@WebServlet("/test")//括号里的是虚拟路径public class TestServlet extends HttpServlet {}**

经测试完成立。
1.2配置Filter

@WebFilter(“/*”)//括号里的是虚拟路径
public class TestFilter implements Filter {}

1.3配置Liste*

@WebListenerpublic class MyServletContextListener implements ServletContextListener {      public MyServletContextListener() {    }    public void contextDestroyed(ServletContextEvent arg0)  {         System.out.println("servletContex销毁了");    }    public void contextInitialized(ServletContextEvent arg0)  {         System.out.println("servletContex创建了");    }}

2.servlet支持文件上传

package com.rupeng.web;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;@MultipartConfig//  加上此注解代表可以进行文件上传@WebServlet("/test")public class TestServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    public TestServlet() {    }    protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        System.out.println("testServlet被调用了");        //得到文件的表示        Part part = request.getPart("file1");        String fileName = part.getSubmittedFileName();        System.out.println("上传的文件名称为"+fileName);        long size = part.getSize();        System.out.println("上传文件的大小为"+size);        InputStream input= part.getInputStream();//tomcat文件上传处理,先把文件放到临时的文件里面,通过此方法,就拿到啦        //一个通向临时文件的输入流,不是自己创建的输入流,所以不一定需要关掉        File file = new File("H:\\"+fileName);        FileOutputStream output = new FileOutputStream(file);//自己创建的输出流需要关掉        byte [] buff = new byte[1024];        int len=0;        while((len=input.read(buff))!=-1){            output.write(buff, 0, len);            output.flush();        }        output.close();//处理好了文件上穿        part.delete();//把临时文件删掉        System.out.println("文件上传处理成功");        System.out.println("普通表单AA的取值为"+request.getParameter("aa"));    }    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doGet(request, response);    }}
原创粉丝点击