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

  无聊的一天啊,好热!
  


关于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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值