JavaWeb学习笔记-Servlet的具体使用

  1. http协议是客户端和服务器共同遵守的网络协议

  2. http分为以下两种

  • 2.1 Get请求(不安全但效率高,所有标签默认都是Get请求)
  • 2.2 Post请求(安全但效率低)
  1. 常见响应码
    200 请求成功
    302 请求重定向
    404 页面不存在
    500 代码错误

  2. HttpServletRequest 类作用:获得请求的所有信息

    得到客户端的数据

//回复提交方式为GET的方法
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String user=req.getParameter("username"); //参数为标签的name属性
        String password=req.getParameter("password");
        String sex=req.getParameter("sex");
        List<String> list= Arrays.asList(req.getParameterValues("interest"));
      System.out.println("用户名:"+user);
        System.out.println("密码:"+password);
        System.out.println("性别:"+sex);
        System.out.println("兴趣:"+list);
    }
    //回复提交方式为POST的方法
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        //post提交方式需要设置请求编码为UTF-8,否则中文会出现乱码
        String user=req.getParameter("username");
        String password=req.getParameter("password");
        String sex=req.getParameter("sex");
        List<String> list= Arrays.asList(req.getParameterValues("interest"));
        System.out.println("用户名:"+user);
        System.out.println("密码:"+password);
        System.out.println("性别:"+sex);
        System.out.println("兴趣:"+list);
    }
}

5.请求转发
Servlet

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
          System.out.println("Servlet正在处理数据");
         RequestDispatcher requestDispatcher= req.getRequestDispatcher("/hello1"); //请求转发对象
         requestDispatcher.forward(req,resp);
    }

Servlet1

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Servlet1收到了Servlet的转发,继续处理数据");
    }

6.Base标签
作用:该页面下所有的跳转操作都是以Base标签的路径为基准

<base href="http://localhost:8888/Servlet_war_exploded/">

7.HttpServletResponse类
响应客户端数据
第一种方式:(不常用)

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("UTF-8"); //设置响应数据的编码格式为UTF-8
        resp.setHeader("Content-type","text/html;charset=UTF-8");//设置游览器内容编码为UTF-8
        PrintWriter printWriter=resp.getWriter();
      printWriter.println("服务器传来的数据");
    }

第二种方式:(推荐)

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        //同时设置了客户端和服务器的编号格式为UTF-8,还设置了响应头
        PrintWriter printWriter=resp.getWriter();
      printWriter.println("服务器传来的数据");
    }

8.重定向
特点:两次请求,第二次请求不共享第一次请求的域数据

第一种方式:(不常用)

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         System.out.println("当前地址已失效");
         resp.setStatus(302); //重定向的状态码
         resp.setHeader("Location","http://localhost:8888/Servlet_war_exploded/hello1");
         //设置重定向地址
    }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      System.out.println("最新地址");
    }

第二种方式:(推荐)

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("地址已过期");
        resp.sendRedirect("http://localhost:8888/Servlet_war_exploded/hello1");
    }

注意:网页请求默认是Get请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值