review
review
- post提交方式下的设置编码,防止中文乱码
request.setCharaterEncoding(“utf-8”);
get提交方式,tomcat8开始,编码不需要设置
tomcat8之前,get方式设置比较麻烦:
String fname = request.getParameter("fname");
byte[ ] bytes = fname.getBytes("iso-8859-1");
fname = new String(bytes,"UTF-8");
- servlet继承关系以及生命周期
- servlet接口:init(),service(),destroy()
Genericservlet抽象子类:abstract service();
Httpservlet抽象子类:
实现了service方法,在service方法内部通过request.getMethod()来判断请求的方式,然后根据请求的方式去调用内部的do方法。
每一个do方法进行了简单实现,主要是如果请求方式不符合,则报405错误目的是让我们的servlet子类去重写对应的方法(如果重写的不对,则使用父类的405错误实现)
2) 生命周期:实例化、初始化、服务、销毁
——Tomcat负责维护servlet实例的生命周期
——每个servlet在Tomcat容器中只有一个实例,它是线程不安全的
——Servlet的启动时机:
——servlet3.0开始支持解: @webservlet
3.HTTP协议 :
- 由 Request 和 Response 两部分组成
- 请求包含了三部分:请求行、请求消息头、请求主体:
(普通的get方式请求)guery string、
post方式请求——form data 、
json格式——request payload
3)响应包含了三个部分:响应行、响应消息头、响应主体
4.HttpSession - HttpSession:表示 会话
- 为什么需要HttpSession,原因是因为Http协议是无状态的
- Session保存作用域:一次会话范围都有效;
void Session.setAttribute(k,v);
Object Session.getAttribute(k);
4)其他的API:session.getId(),session.isNew(),session.getCreationTime(),session.invalidate()等等
- 服务器端转发和客户端重定向
- 服务器端转发 : recuest,getRequestDispatcher(“index.html”).forward(request,response);
- 客户端重定向: response.sendRedirect(“index.html”);
- thymeleaf的部分标签
- 使用步骤: 添加jar ,新建viewBaseservlet(有两个方法) ,配置两个 : view-prefix ,view-suffix
- 部分标签 :
th:if :表示如果
th:unless :表示否则相当于else
th:each :迭代标签
th:text:内部文本标签