Server学习Day2

学习内容

1.Servlet的生命周期
2.Servlet的request请求
3.面试题 :Servlet在什么时候初始化?
4.三种配置方式
5.在Servlet中进行表格数据的获取
6.Servlet的配置和获取

1.Servlet的生命周期

1. 实例化(构造方法,即Servlet容器的创建)
2. 初始化(调用init方法)
3. 服务(调用service方法实现doGet和doPost方法)
4. 销毁(调用destory方法)
5. 垃圾回收(等待垃圾回收)

2.面试题:Servlet在什么时候初始化?

  1. 默认情况下,容器启动的时候回调用一次(有且只调用一次)(容器启动不是打开服务器,是在浏览器上调用我们的servlet)
    2.通过在web.xml中配置num,其中的num,数值在0到10,数值越大,优先级越低,当nu为负数时不会自动配置

3.Servlet的request请求

1.目前我们只了解在web上面对表单的数据进行提交
2.我们的操作步骤是

* 在项目的JavaResource里面的src文件里面。建立包,创建我们的servlet
* 在WEB-INF里面放置我们的HTML5文件
* 在web.xml种配置我们的路径: /Dynamic/Hehe(Dynamic 是我们的项目的名字,因为HTML会带有这个名字)
* 在HTML的表单提交中: 
(和上面的跳转地址对应) * 在HTML上面启动服务器,在HTML页面提交数据

4.三种配置方式

//部分模糊  

    servletLife
    /servlet/*
  
//模糊
  
    servletLife2
    *.do
  
//精准
  
    getParameter
    /demo3.do

5.在Servlet中进行表格数据的获取

    //request.setCharacterEncoding("utf-8");//这个要看一看是不是8.0的版本(是8.0,就直接是utf-8了)
    //下面是get方式的请求解析
    System.out.println("111111111111111111");
    // 获取用户名 密码
    String name = request.getParameter("username");
    byte[] bn = name.getBytes("iso-8859-1");
    System.out.println("name:"+new String(bn,"utf-8"));
    String password = request.getParameter("userpassword");
    System.out.println("name:"+name );
    System.out.println("password:"+ password);
    // 获取爱好
    String[] favors  = request.
            getParameterValues("favor");
    for (String fav : favors) {
        System.out.println(fav);
    }
    // 获取性别
    String gender = request.getParameter("gender");
    System.out.println("gender:"+gender);
    System.out.println("--------");
    Map maps =
            request.getParameterMap();
    Set keys = maps.keySet();
    for(String key : keys){
         String[] values = maps.get(key);
         for(String va : values){
             System.out.println(key+":"+va);
         }
    }

6.Servlet的配置和获取


     user
     zhangsan
  
  
     pwd
     123
  
// 一定要在getParameter之前设置否则无效 针对post
//request.setCharacterEncoding("utf-8");

         String  name = request.getParameter("username");
         request.getParameterValue("");
         // name的编码是 tomcat 默认的ISO-8859-1
         byte[] bytes = name.getBytes("ISO-8859-1");
         // 以utf-8重新构造字符串
         name = new String(bytes,"UTF-8");
         System.out.println("name:"+name);
         // 获取Servlet上下文
         ServletContext  sc = this.getServletContext();
         String  filepath = sc.getRealPath("WEB-INF");
         System.out.println(filepath);
         sc.setAttribute("userlist", "花千骨,白子画");
         System.out.println(
            sc.getInitParameter("user"));

你可能感兴趣的:(Server学习Day2)