java面试 bs cs_java面试(三)

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中,通过

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

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(秒);//设置最大无活动超时。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值