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