【每天学一点】JAVA Servlet相关02

来源:互联网 发布:彩虹六号mac 编辑:程序博客网 时间:2024/06/12 21:26

  无聊的一天啊,好热!
  


关于HTTP请求的处理

package cn.sevresponse;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class HttpSevresponse */@WebServlet(urlPatterns = {"/HttpSevresponse"}, asyncSupported = true, loadOnStartup = -1)   //loadstartup自动加载,值越大,优先级越低public class HttpSevresponse extends HttpServlet {    private static final long serialVersionUID = 1L;    public HttpSevresponse(){        System.out.println("dui xiang chuangjian"); //第一次访问servlet时创建    }    /**     *有参init, 程序初始化,一定会被TOMCAT调用,不需要覆盖有参的     *///  @Override//  public void init(ServletConfig config) throws ServletException {//      // TODO Auto-generated method stub//      super.init(config);             //创建完servlet对象的时候调用//      //  }    /**     * 无参Init 开发者用来覆盖,书写的地方     *      */    @Override    public void init() throws ServletException {        // TODO Auto-generated method stub        super.init();    }    @Override    protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {        // TODO Auto-generated method stub        super.service(arg0, arg1);              System.out.println("service");      //每次发出请求时调用    }    @Override    public void destroy() {        // TODO Auto-generated method stub        System.out.println("destroy");  //停止服务器或重新部署web应用时        super.destroy();    }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        response.getWriter().append("Served at: ").append(request.getContextPath());    //1.响应行        //1.1修改状态码        //response.setStatus(404);        //404错误页面在web.xml中部署,且指向页面大于1024字节        //response.sendError(404);  //修改状态码,+404错误页面    //2.响应头        //response.setHeader(name,value);        response.setHeader("server", "reimu");    //3.实体内容        response.getWriter().write("xxxxx");        //2.1 302重定向        //response.setStatus(302);        //response.setHeader("location", "/day20160620/index.html");        //2.1.1        //response.sendRedirect("/day20160620/index.html");        //2.2 跳转        //response.setHeader("refresh", "3;url=http://www.baidu.com");    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        doGet(request, response);    }}

servlet config

package cn.sevresponse;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebInitParam;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class servconfig */@WebServlet(urlPatterns={"/servconfig"},initParams={@WebInitParam(name="name",value="reimu")})public class servconfig extends HttpServlet {    private static final long serialVersionUID = 1L;    /**     * @see HttpServlet#HttpServlet()     */    //加载servlet 初始化参数     public servconfig() {        super();        // TODO Auto-generated constructor stub    }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        //获取初始化参数getInitParameter("name")        String name=getInitParameter("name");        response.getWriter().append("Served at: "+name);    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        doGet(request, response);    }}

servcontext

package cn.sevresponse;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class ServContext *//** * 1.String getContextPath() 得到当前web应用路径 * 2.String getInitParameter(String name)  得到web应用初始化参数 * 3.void setAttribute(String name,Object object) 域对象有关方法:保存数据,获取数据,共享数据 *   Object getAttribute(String name) *   void removeAttribute(String name) * 4.RequestDispatcher getRequestDispatcher(String path) 转发,类似于302 * 5.String getRealPath(String path)    得到web应用资源文件 * 6.InputStream getResourceAsStream(String path) *  * @author reimu * */@WebServlet("/ServContext")public class ServContext extends HttpServlet {    private static final long serialVersionUID = 1L;    /**     * @see HttpServlet#HttpServlet()     */    public ServContext() {        super();        // TODO Auto-generated constructor stub     }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        //response.getWriter().append("Served at: ").append(request.getContextPath());        //1.得到servletcontext对象         ServletContext sc= this.getServletContext();        //2.得到web应用路径         System.out.println(sc.getContextPath());  //项目名称        //3.域对象         sc.setAttribute("hello", "world");          //4         System.out.println(sc.getRealPath("/index.html"));         //5.转发,地址栏不改变,只能到站内资源         sc.getRequestDispatcher("/index.html").forward(request, response);            //5.1 302         response.sendRedirect("/index,html");    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        doGet(request, response);    }}
0 0