servlet笔记(一)

来源:互联网 发布:怎么在淘宝上买快排 编辑:程序博客网 时间:2024/04/29 21:04

1.经过WEB层处理,是B/S结构(瘦客户端);
  未经WEB层处理是C/S结构。
2.客户层(browser)--->WEB层(jsp/servlet)--->业务层(EJB)--->数据层(DBServer)
3.             GET                |              POST
  位置  地址后面追加    |          http header中
  长度  255                     |          无限制
  利弊  显示密码            |          安全
4.所有自定义servlet必须实现 javax.servlet.Servlet 接口,容器自动调用其中的方法。
5.生命周期:init()  <只创建一次,让所有用户访问>
                       service()
                       destroy()
6.抽象类javax.servlet.GenericServlet:不和特定协议相关
                                  |
                                  |
  抽象类javax.servlet.http.HttpServlet:与http协议相关(大部分的时候用它继承)
7.响应流程:service()接收到请求 ---->请求封装到javax.servlet.ServletRequest对象中---->传回service()

                    ---->service()解析 ---->写到javax.servlet.ServletResponse对象中---->传回client(javaI/O流)
8.得到当前webApplication对象
  ServletContext sc;----servlet属性
  sc = this.getServletContext();----init()中写
9.设置响应类型,字符集
  private static final String CONTENT_TYPE = "text/html; charset=GBK";-----servlet属性
  response.setContentType(CONTENT_TYPE);----doGet()中写 
10.如果用户用form传来中文数据,要加入 request.setCharacterEncoding("GB2312");--->doGet()的第一行
11.设置页面刷新时间 response.setHeader("Refresh" , "5");
12.String name = request.getParameter("name");--->得到表单数据
    String[] hobby = request.getParameterValues("hobby");---注意返回类型是String[]
   if(hobby!=null){
   for(int i = 0;i < hobby.length; ++i){
   out.print(hobby[i]);
   }
   }

   String queryString = request.getQueryString();--->得到GET方法的上传字符串