初识servlet(随笔)

    xiaoxiao2025-03-17  23

    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()        

       

    最新回复(0)