1、知识回顾:

1. post提交方式下的设置编码,防止中文乱码
request.setCharacterEncoding("utf-8");
get提交方式,tomcat8开始,编码不需要设置

tomcat8之前,get方式设置比较麻烦:
String fname = request.getParameter("fname");
byte[] bytes = fname.getBytes("iso-8859-1");
fname = new String(bytes,"UTF-8");

2. Servlet继承关系以及生命周期
1) Servlet接口 : init() , service() , destroy()
GenericServlet抽象子类: abstract service();
HttpServlet抽象子类:实现了service方法,在service方法内部通过request.getMethod()来判断请求的方式,
然后根据请求的方式去调用内部的do方法。每一个do方法进行了简单实现,主要是如果请求方式不符合,则报405错误。
目的是让我们的Servlet子类去重写对应的方法(如果重写的不对,则使用父类的405错误实现)
2) 生命周期:实例化、初始化、服务、销毁
- Tomcat负责维护Servlet实例的生命周期
- 每个Servlet在Tomcat容器中只有一个实例,它是线程不安全的
- Servlet的启动时机:<load-on-startup>
- Servlet3.0开始支持注解: @WebServlet

3. HTTP协议:
1) 由 Request 和 Response 两部分组成
2) 请求包含了三部分:请求行、请求消息头、请求主体: 普通的get方式请求-query string;post方式- form data ; json格式 - request payload
3) 响应包含了三部分:响应行、响应消息头、响应主体

4. HttpSession
1) HttpSession :表示 会话
2) 为什么需要HttpSession , 原因是因为 Http协议是无状态的
3) Session保存作用域 :一次会话范围都有效 ; void session.setAttribute(k,v) ,Object session.getAttribute(k)
4) 其他的API: session.getId() , session.isNew() , session.getCreationTime() , session.invalidate() 等等

5. 服务器端转发和客户端重定向
1) 服务器端转发 : request.getRequestDispatcher("index.html").forward(request,response);
2) 客户端重定向: response.sendRedirect("index.html");

6. thymeleaf的部分标签
1) 使用步骤: 添加jar , 新建ViewBaseServlet(有两个方法) , 配置两个<context-param> : view-prefix , view-suffix
2) 部分标签: <th:if> , <th:unless> , <th:each> , <th:text>

1、Thymeleaf - 视图模板技术
1) 添加thymeleaf的jar包
2) 新建一个Servlet类ViewBaseServlet
3) 在web.xml文件中添加配置
- 配置前缀 view-prefix
- 配置后缀 view-suffix
4) 使得我们的Servlet继承ViewBaseServlet

5) 根据逻辑视图名称 得到 物理视图名称
//此处的视图名称是 index
//那么thymeleaf会将这个 逻辑视图名称 对应到 物理视图 名称上去
//逻辑视图名称 : index
//物理视图名称 : view-prefix + 逻辑视图名称 + view-suffix
//所以真实的视图名称是: / index .html
super.processTemplate("index",request,response);
6) 使用thymeleaf的标签
th:if , th:unless , th:each , th:text

状态码:
// 200 : 正常响应
// 404 : 找不到资源
// 405 : 请求方式不支持
// 500 : 服务器内部错误
// 302 : 重定向

1. 保存作用域
原始情况下,保存作用域我们可以认为有四个: page(页面级别,现在几乎不用) , request(一次请求响应范围) , session(一次会话范围) , application(整个应用程序范围)
1) request:一次请求响应范围
2) session:一次会话范围有效
3) application: 一次应用程序范围有效


最新文章

  1. JVM初学笔记
  2. IE11部分图片无法显示的兼容办法
  3. js 父窗体
  4. oracle体系结构详细示意图
  5. 【堆栈应用一】一个数divided=几个最小质因数的乘积
  6. 用Objective-C的foundation框架解决表达式求值问题
  7. SGU 194. Reactor Cooling(无源汇有上下界的网络流)
  8. Cookies欺骗分析与防护
  9. VS2010 C++ 优化配置
  10. (转)Spring的单例模式底层实现
  11. 以太坊ERC20代币开发
  12. shell编程学习笔记(八):Shell中的if条件判断
  13. SSH免密码登录配置
  14. 巧用CurrentThread.Name来统一标识日志记录
  15. dict使用
  16. Oracle创建database link(dblink)和同义词(synonym)
  17. React多页面应用脚手架-v1.3.0
  18. VIM设置代码折叠
  19. 【转载】浅谈TDD、BDD与ATDD软件开发
  20. S+ hidden tray with window start

热门文章

  1. linux 下用其他用户来执行命令
  2. Unity Shader实现《死亡搁浅》扫描效果!
  3. 02、kafka介绍
  4. js 表格分页,ajax请求后台数据前台分页
  5. jmeter非GUI模式运行-单节点
  6. VSCode STM32跨平台开发环境搭建
  7. ssh 解决远程桌面端口问题
  8. Delphi中纤程的使用
  9. ORA-01427: 单行子查询返回多个行 出现原因及对应防止措施
  10. 项目实训 day15-16