您的位置:首页 > 其它

Servlet

2016-07-10 18:26 267 查看

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全局
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: