一、Servlet 的生命周期
过程:
servlet类加载-->实例化-->服务-->销毁
- Web Client 向 Servlet 容器(Tomcat)发出 Http 请求
- Servlet 容器接收 Web Client 请求
- Servlet 容器创建一个 HttpServletRequest 对象,将 Web Client 请求的信息封装到这个对象中
- Servlet 容器创建一个 HttpServletResponse对象
- Servlet 容器调用HttpServlet 对象 service 方法,把Request 与 Response作为参数,传给 HttpServlet
- HttpServlet 调用 HttpServletRequest 对象的有关方法,获取 Http 请求信息
- HttpServlet 调用 HttpServletResponse 对象的有关方法,生成响应数据
- 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