首页 java面试 java面试(三)

java面试(三)

http和html的区别 http:超文本传输协议。html:超文本标记语言。   bs和cs的区别。 浏览器/服务器:…

http和html的区别

http:超文本传输协议。html:超文本标记语言。

 

bs和cs的区别。

浏览器/服务器:只需部署1次,部署成本低。不安全,http协议是明文。页面交互能力较差。

客户端/服务器。每台机器都要部署,维护成本高。安全。

页面交互能力较强。

http协议的全过程:连接服务器–》发送请求–》服务器处理–》服务发出响应报文(html报文,报文体)–>浏览器展现–》断开连接。

 200(ok),320(请找本地缓存),404(网页不存在),500(服务器内部错误)的含义

 get请求和post请求的区别:

 get请求:不安全,在浏览器显示参数。请求URL长度<1024个字节。发出的方式:浏览器访问,超链接,表单的get,重定向。

 post:安全,不显示参数。长度理论无线。发出的方式:表单的post。

 servlet的概念:用java写的服务器程序。

 生命周期:实例化(第1次请求时)–》初始化(init)

–》不断的处理请求(service)–>销毁(destroy,web服务关闭;网站被删除)

 doget两个参数request和response是由谁来创建的:Httpservlet。

 service方法和doget/doPost的关系是什么:

  在HttpServlet的默认实现中,service方法根据请求的类型自动调用doget或doPost方法。当service方法被重写时,doget或dopost就不会自动调用了。servletContext是什么?

=application.web全局上下文。

  request.getServletContext()可以获得。

 如何对get请求参数和post请求参数做中文处理。

get:a 对于每个参数,都要使用new String(parameter.getBytes(“iso-8859-1″),”GBK”);

 b 在tomcat的server.xml文件的Connector节点中,增加

URIEncoding=“GBK”属性。

post:request.setCharacterEncoding(“gbk”);

在struts2中,通过 <Constant name=”i18n.struts.encoding” value=”gbk”/>

   

  如何对响应页面做中文处理:

response.setContentType("text/html;charset=gbk"):
response.setCharacterEncoding("gbk");

 请求转发和重定向的区别:

  请求转发:地址不变。只请求一次。

  重定向:地址变成新的。请求2次。

  请求转发的forward和include的区别?

  forward:请求传递。由第2个服务方直接给请求方数据。

  include:请求包含。由第1个服务方给请求方数据。

 

  为什么要保持会话状态?

  http是状态无关协议,每次的请求都是全新的。

 

  保持会话状态的两种方法及区别?

  cookie:全部的数据保存在客户端的硬盘。

  session:数据保存在服务端,sessionId保存在客户端。

  当浏览器关闭后,只是sessionId丢失,但session仍然保存在服务器。

  如何添加cookie,设定cookie超时,删除cookie?

Cookie c = new Cookie("key","value");
c.setMaxAge(24*60*60);//1天
c.setMaxAge(0);//删除
c.setPath(路径);//可以为其他工程写Cookie
response.addCookie(c);如果接下来是请求转发,那么添加的cookie无效。如果是重定向,则有效。

 

   

 如何支持中文的cookie.

写入时:URLEncoder.encode("中文")==>得到ascii化的中文。
读取时:URLDecoder.decode("ascii英文")

 

 如何创建session,如何删除session,如何设定session的过期时间?

HttpSession s = request.getSession();
或是访问jsp文件。
s.invalidate();// 删除session
s.setMaxInactiveInterval(秒);//设置最大无活动超时。
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

jdbc和mybatis的区别

jdbc和mybatis的区别

jdbc和mybatis的区别 mybatis也是基于JDBC的。Java与数据库操作仅能通过JDBC完成。 mybat...
美团、58、百度、阿里面经(转)

美团、58、百度、阿里面经(转)

百度 一面: 自我介绍、 hashmap和hashtable区别、 对线程安全的理解、 讲讲web三大架构、 为什么要用...
软件测试工程师-面试题

软件测试工程师-面试题

  1、什么是软件测试?2’ 2、软件测试与软件质量保证的区别。10’ 3、报告软件缺陷时,测试人员要对软件缺...
spring面试集合

spring面试集合

问题清单: 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 什么是控制反转(...
Java中的注解是如何工作的?

Java中的注解是如何工作的?

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如...
返回顶部