首页 > 代码库 > servlet基本问题

servlet基本问题

  1. servlet实现哪个接口?

    javax.servlet.Servlet

  2. servlet生命周期

    servlet的生命周期分为3个阶段

    a.初始化阶段,调用init()方法

    b.响应客户端阶段,调用service()方法

    c.终止阶段,调用destroy()方法

  3. init在什么时候会被调用?

    在servlet初次创建时会被调用。

  4. servlet继承自哪个类?

    GenericServlet和HttpServlet

  5. 页面乱码怎么处理?

    a对于同一个应用,最好统一编码,推荐为UTF-8,当然GBK也可以。     

    b正确设置JSP的pageEncoding="UTF-8" 

    c在所有的JSP/Servlet中设置contentType="text/html;charset=UTF-8response.setCharacterEncoding("UTF-8"),从而间接实现对浏览器编码的设置。     

    d对于非表单提交的get或url请求,可以修改Tomcat的默认配置,推荐将useBodyEncodingForURI参数设置为true,也可以将URIEncoding参数设置为 UTF-8(有可能影响其他应用,所以不推荐)。或者用下面的方法,在接收数据时处理:

      request.getParameter("userID"),得到userID的值   

      request.getParameter("userID").trim()将这个值去掉两边的空格   

      request.getParameter("userID").trim().getBytes("ISO-8859-1"))将这个String用ISO-8859-1编码成一个字节数祖   

      new   String(request.getParameter("userID").trim().getBytes("ISO-8859-1"),"utf-8")将刚才的字节数祖传进string的构造函数按照"utf-8"编码创建一个string对象。 

    e使用URLEncoder的方法

    传参前用: 

    //使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式

    String username_encoder = URLEncoder.encode(username,"UTF-8");

接参数后显示用:

//使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码

String username_decoder = URLDecoder.decode(request.getParameter("username"),"UTF-8");

servlet基本问题