首页 > 其他分享 >Servlet

Servlet

时间:2022-10-10 12:00:29浏览次数:37  
标签:String request System println Servlet out

 

一、Servlet 的生命周期

过程:

  servlet类加载-->实例化-->服务-->销毁

  1. Web Client 向 Servlet 容器(Tomcat)发出 Http 请求
  2. Servlet 容器接收 Web Client 请求
  3. Servlet 容器创建一个 HttpServletRequest 对象,将 Web Client 请求的信息封装到这个对象中
  4. Servlet 容器创建一个 HttpServletResponse对象
  5. Servlet 容器调用HttpServlet 对象 service 方法,把Request 与 Response作为参数,传给 HttpServlet
  6. HttpServlet 调用 HttpServletRequest 对象的有关方法,获取 Http 请求信息
  7. HttpServlet 调用 HttpServletResponse 对象的有关方法,生成响应数据
  8. Servlet 容器把 HttpServlet 的响应结果传给 Web Client

 

二、HttpServletRequest对象

1.

@WebServlet("/ser01")
//@WebServlet(name = "Servlet01", value = "/ser01")
//ser01和ser001都可以访问到
//@WebServlet(name = "Servlet01", value = {"/ser01","/ser001"})
public class Servlet01 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //常用方法:
        //1.获取请求时候的完整路径(从Http开始,到”?“结束)
        // 要转一下类型,加String或者是后面="";
        String url = request.getRequestURL()+"";
        System.out.println("完整路径"+url);
        //2.获取请求时候的部分路径(从项目站点名开始到”?“结束)
        String uri = request.getRequestURI();
        System.out.println("部分路径:"+uri);
        //3.获取请求的参数字符串(从”?“开始到最后的字符串)
        String queryString = request.getQueryString();
        System.out.println("参数字符串:"+queryString);
        //4.获取请求方式:
        String method = request.getMethod();
        System.out.println("请求方式:"+method);
        //5.获取请求协议版本:
        String protocol = request.getProtocol();
        System.out.println("协议版本:"+protocol);
        //6.获取项目的站点名(项目对外访问路径)
        String web = request.getContextPath();
        System.out.println("项目站点名:"+web);
    }
}

浏览器:

 

 

控制台:

 

 在浏览器中再输入一些参数:

 

 

 

 2.获取请求参数

        //获取请求的参数
        //获取指定名称的参数值,返回字符串
        String uname = request.getParameter("uname");
        String upwd = request.getParameter("upwd");
        System.out.println("uname:"+uname);
        System.out.println("upws:"+upwd);

        //获取指定名称的参数的所有参数值,返回字符串数组(用于复选框)
        String[] hobbys = request.getParameterValues("hobby");
        //遍历时先判断数组是否为空
        if(hobbys != null && hobbys.length > 0){
            //foreach循环
            for (String hobby : hobbys) {
                System.out.println("hobby:"+hobby);
            }
        }

 

 

 

标签:String,request,System,println,Servlet,out
From: https://www.cnblogs.com/hmy22466/p/16775165.html

相关文章