1~3什么是servlet 4~6HTTP协议 7读取参数值 8~9servlet的生命周期 1、Tomcat是容器,servlet是扩展web服务器的组件规范(组件),他要部署到Tomcat中才能发挥作用
1) 客户端发送请求至服务器端
2) 服务器将请求信息发送至Servlet容器
3) Servlet容器调用其中的Servlet组件来完成响应
4) Servlet容器将动态生成的响应内容传给服务器
5) 服务器将响应返回给客户端
2、404 服务器依据请求地址找不到对应资源 原因: ①没有部署 ②servlet-name不一致 ③地址写错了 500 系统出错 原因:程序在运行过程中出错 ①没有继承HttpServlet ②servlet-class 写错了 ③代码写得不够严谨,比如对请求参数 405 找不到处理方法 原因:service方法不规范3、乱码问题 由Servlet动态生成页面的时候,如果代码中出现中文,就很容易会出现乱码了。 一般在这种情况下,我们只需要在生成页面的头文件中增加以下代码就能够解决: response.setContentType("text/html;charset=utf-8")
4、HTTP协议 它定义了浏览器(或者其他客户端)与Web服务器之间通讯的过程及数据格式 为了保证服务器内存,一次请求一次回应。所以,HTTP协议是一种无状态协议。 由于无状态协议HTTP严重阻碍了WEB应用的实现,所以就出现了如 cookies, session, application这样的东西来保持web应用之间的状态 5、请求数据包: 请求行 消息头 实体内容GET /web01/hello?qty=3 HTTP/1.1 请求方式 请求资源路径 参数 协议类型版本 Eclipse查看:Window – show view – others – myeclipse common – tcp/ip monitor6、get请求与post请求get请求的特点: ①get请求会将请求参数添加到请求资源路径的后面,因为请求行存放的数据大小有限 (也就是地址栏的最长字节数),所以get请求只能提交少量的数据。 ②get请求会将请求参数显示在浏览器地址栏,不安全(比如,路由器会记录整个地址)。post请求: ①post请求会将请求参数添加到实体内容里面,所以,可以提交大量的数据。 ②post请求不会将请求参数显示在浏览器地址栏,相对安全一些。但是,post请求并不会对请求 参数进行加密处理。用HTTPS协议进行加密处理。
7、Request对象 Request对象用于读取客户端传递的参数。客户端传递给服务器的参数最常见的是表单数据或附在URL中的参数。 例如: http://localhost/exam.jsp?qty=4 其中的“qty=4”就是参数 用request读取参数分为2种:单值参数 和 多值参数 ①单值参数是指一个变量最多有一个值。我们可以用request对象的getParameter()方法来读取指定变量的参数值。 ②多值参数的典型代表是表单复选框,例如“爱好”就是多值参数:选项中的表单变量名只有一个,但用户可以 选定多个爱好。我们可以用request对象的getParameterValues()方法来读取同一变量的多个参数值。
8、servlet的生命周期
指容器“创建servlet对象” ——“对它进行初始化”调用init() ——“调用方法处理请求”调用service() ——“销毁该对象” 的整个过程 调用destroy()9、相应请求阶段用到的三个重要对象 ①Request对象: ---- request(用户请求期) ---- 封装客户端的请求信息 ---- getParameter() getParameterValues() setCharacterEncoding() setAttribute() getAttribute() ②Response对象 ----page(页面执行期) ----包含了响应客户请求的有关信息 ----sendRedirect() setContentType() getWriter() ③out对象: ---- page(页面执行期) ---- out对象用于管理应用服务器上的输出缓 冲区,代表输出流, 主要用于向客户端输出各类数据; -- print() println()