初识servlet(随笔)

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 monitor
6、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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值