Servlet



1、http响应信息有几部分。
答:状态行,响应头,空行,消息体。
2、状态码有几种?各代表什么含义?状态码在什么时候设置?
答:
100-199:表示请求正在进行
200-299:请求成功
300-399:用于已经移走的资源文件,指示新的地址
400-499:由客户端引发的错误
500-599:服务器引起的错误
3、响应头如何设置?
HttpServletResponse的setHeader()可以设置响应头
4、响应信息有几种形式?
getwitre,getOutPutStream
-----------------------------------------------------
5、描述重定向的工作流程
答:
客户端访问服务器。服务器调用response.sendRedirect(),产生响应时,会产生302状态码,同时产生location响应头,那么就会读取loation响应信息之后。发现是302状态码,那么
就会读取该内容更新浏览器地址栏,再向服务器发出第二次请求。
-----------------------------------------------
6、http请求协议中包含哪几部份。
答:请求行,请求头,空行,消息体。
7、如何获得请求头
response.getHeader();
--------------------------------------
8、解释get请求和post请求的区别,哪些请求是get,哪种是post.
答:GET:
浏览器向WEB服务器发送HTTP请求:
   用户在网页上点击一个超链接
   用户提交在网页上填好的表单
   用户在浏览器地址栏中输入URL地址并回车
   默认情况下都是使用HTTP协议的GET方法提交请求。
POST:
  定制浏览器行为:
<form name="" method="post" action="">
区别:
1,流格式的区别
      get方式表单数据附件在url后面,而post方式表单数据在消息体中,所有get方式没有消息体。
2,用途的区别
       get方式主要用于资源的查找,而post方式主要用于数据的传输。
3,传输性能的区别
       get方式只能传输文本数据,而post方式可以传输文本和二进制数据。
        get方式不能传输大数据,post方式可以传输大数据。
         get方式的表单数据附加在url后面,所以浏览器地址栏不会显示,相对GET方式数据更安全一些
          get方式的数据会在浏览器缓存,而post方式不会缓存
----------------------------------------------------------------------------

1、在Servlet中得到表单数据的方法有哪些?有什么区别?
       答:
           ServletContext(上下文)
           HttpSession(会话)    
           ServletRequest(请求)
         区别:作用域范围不同
2、文件上传需要注意什么?
     答:<from method="post" enctype="multipart/from-data" action="upload"> 
         @MultipartConfig注解
3、内部转发和重定向的区别。
   答: 
      方法不一样:重定向有response发出,而内部转发有requestDispatcher发出。
      请求次数:重定向客户端发出两次请求,而内部转发客户端只发出一次请求,所以内部转发可以共享request请求对象中封装的数据,而重定向不行。
      内部转发只能转发服务器内部资源,但重定向可以在二次请求时,可以转向别的服务器。

4、Web应用程序保存客户端状态有哪些方式
    答:
        1,cookie
        2,隐藏表单
        3,session
        4,URL重写
5、cookie的工作原理。
       答:当客户端访问服务器,服务器会调用response.addCookie(),产生一个cookie文本,将文本发送给客户端保存,当客户端在请求信息时,会产生cookie请求头,
                 将之前服务器发送的cookie信息,再次发送给服务器。服务器就可以根据cookie信息跟踪客户端的状态。
6、sessoin的工作原理。
        答:当客户端访问服务器,服务器会调用resquest.getSession(),产生一个session对象,分配唯一标识符。以session id为键,以session对象为值,封装成Map集合。
                 产生响应时,将session id以cookie方式发给客户端。存放在客户端浏览器的缓存中。当客户端再次请求服务器,会将session id以cookie请求头的方式
                   发送给服务器。服务器得到session id后,从Map集合中,得到session对象,从而跟踪状态。

7、解释session和cookie的区别。
        答:
             1,cookie信息以文本保存在客户端,而session信息以对象形式保存在服务器。
             2,cookie传输的是具体的数据,而session传输的是sessionid,所以session更安全一些。

8、如何销毁session。
         答:
             1,设置超时时间
        2,调用session的invalidate()方法,强行销毁。
       3,应用服务器崩溃

9、如果客户端禁用cookie,session还能记录客户端状态吗?
如果不能,有什么方法可以在客户端禁用cookie时,session仍然有效。
    
10、request、session、servletContext中都有setAttribute和getAttribute方法,各自的作用范围是什么?
    request在一次请求以内
      session在一次会话以内
        servletContext全局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值