Servlet常见方法

操作HTTP   Request头的方法

Java代码:
public class MyRequestServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html");

        //获取请求的方法
        String method = req.getMethod();
        String uri = req.getRequestURI();
        String contentType = req.getContentType();
        //输出获取参数的信息
        PrintWriter writer = resp.getWriter();
        writer.println(String.format("<h2>method:%s</h2>",method));
        writer.println(String.format("<h2>uri:%s</h2>",uri));
        writer.println(String.format("<h2>contentType:%s</h2>",contentType));

    }
}

web.xml

<!-- 配置MyRequestServlet -->
  <servlet>
    <servlet-name>myreq</servlet-name>
    <servlet-class>MyRequestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>myreq</servlet-name>
    <url-pattern>/myreq</url-pattern>
  </servlet-mapping>

结果:
在这里插入图片描述

操作HTTP   Response头的方法

核心方法1-——自动刷新页面

Java代码:

public class MyReseponseServlet_Refresh extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html");
        //实现页面自动刷新

//        resp.setHeader("Refresh","1");
        resp.setIntHeader("Refresh",1);
        PrintWriter writer = resp.getWriter();
        writer.println(String.format("<h1>Data:%s</h1>",new Date()));



    }
}

web.xml

<!-- 配置 Refresh -->
  <servlet>
    <servlet-name>myref</servlet-name>
    <servlet-class>MyReseponseServlet_Refresh</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>myref</servlet-name>
    <url-pattern>/myref</url-pattern>
  </servlet-mapping>

核心方法2-——重定向页面【两种方法】

- 方法1:设置状态码
- 方法2:resp.sendRedirect

Java代码

public class MyReseponseServlet_Tiaozhuan extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html");
        //实现重定向
        String name = req.getParameter("name");
        String pwd = req.getParameter("pwd");
        if(name!=null&& pwd!=null && name.equals("root")&&pwd.equals("root")){
            //用户名+密码正确,跳转
            //方法1
//            resp.setStatus(301);
//            resp.setHeader("location","http://www.baidu.com");
            //方法2:
            resp.sendRedirect("http://www.baidu.com");


        }else {
            PrintWriter writer = resp.getWriter();
            writer.println("<h1>输入的用户名或密码有误!</h1>");
        }

    }
}

web.xml

<!--  配置重定向-->
  <servlet>
    <servlet-name>mytz</servlet-name>
    <servlet-class>MyReseponseServlet_Tiaozhuan</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>mytz</servlet-name>
    <url-pattern>/tiaozhuan</url-pattern>
  </servlet-mapping>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值