JSP知识5

来源:互联网 发布:jstor数据库怎么查询 编辑:程序博客网 时间:2024/06/06 17:58

1url重写有几种方式? 

由于cookie可以被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把session id传递回

服务器。经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为 http://...../xxx;jsessionid= 

ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 

另一种是作为查询字符串附加在URL后面,表现形式为http://...../xxx?jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 

这两种方式对于用户来说是没有区别的,只是服务器在解析的时候处理的方式不同,采用第一种方式也有利于把session id的信息和正常程序参数区分开来。为了在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id。

 

2、Request对象的主要方法: 

setAttribute(String name,Object):设置名字为name的request的参数值 

getAttribute(String name):返回由name指定的属性值 

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 

getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 

getCharacterEncoding():返回请求中的字符编码方式 

getContentLength():返回请求的Body的长度 

getHeader(String name):获得HTTP协议定义的文件头信息 

getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例 

getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 

getInputStream():返回请求的输入流,用于获得请求中的数据 

getMethod():获得客户端向服务器端传送数据的方法 

getParameter(String name):获得客户端传送给服务器端的有name指定的参数值 

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例 

getParameterValues(String name):获得有name指定的参数的所有值 

getProtocol():获取客户端向服务器端传送数据所依据的协议名称 

getQueryString():获得查询字符串 

getRequestURI():获取发出请求字符串的客户端地址 

getRemoteAddr():获取客户端的IP地址 

getRemoteHost():获取客户端的名字 

getSession([Boolean create]):返回和请求相关Session 

getServerName():获取服务器的名字 

getServletPath():获取客户端所请求的脚本文件的路径 

getServerPort():获取服务器的端口号 

removeAttribute(String name):删除请求中的一个属性


3、说说四种会话跟踪技术

1,page是代表与一个页面相关的对象和属性。一个页面由一个编译好的java servlet类(可以带有任何的include指令,但是没有include动作)表示。这既包括servlet又包括被编译成servlet的jsp页面。

2,request是代表与web客户端发送的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个web组件

3,session代表与用于某个web客户端的一个用户体验相关的对象和属性,一个web会话可以也经常会跨越多个客户机请求。

4,application是代表与整个web应用程序相关的对象和属性,这实质上是跨越多个web应用程序,包括多个页面、请求和会话的一个全局作用域。

 

4、如何防止在JSP或servlet中的输出不被browser保存在cache中?

把一下脚本加入到jsp文件中即可

<%

response.setHeader("Cache-Control","no-store");

response.setHeader("Pragma","no-cache");

response.setDateHeader("Expires",0);

%>

 

5、简述HttpSession接口的功能和使用方法。(企业笔试题)
这是一个java.servelt.http包中的接口,它封装了会话的概念。定义为:“public interface HttpSession”,可以使用HttpServletRequest对象的getSession()方法来得到这种类型的对象,语法为:“HttpSessionsession = request.getSession();”。

 

6、如何混合使用Jsp和SSI #include? 
 在JSP中可以使用如下方式包含纯HTML: 
 <!--#include file="data.inc"--> 
 但是如果data.inc中包含JSP CODE ,我们可以使用: 
 <%@include file="data.inc"%> 

 

7、如何执行一个线程安全的JSP? 
 只需增加如下指令 
 <%@ page isThreadSafe="false" %> 

 

8、JSP如何处理HTML FORM中的数据? 
 通过内置的request对象即可,如下: 
 <% 
 String item = request.getParameter("item"); 
 int howMany = newInteger(request.getParameter("units")).intValue(); 
 %>  

 

9在JSP如何包含一个静态文件? 
 静态包含如下:<%@ includefile="copyright.html" %> 
 动态包含如下:<jsp:include page="copyright.html"flush="true"/>  

 

10在JSP中如何使用注释? 
 主要有四中方法: 
 1。<%-- 与 --%> 
 2。// 
 3。/**与**/ 
 4。<!--与-->  

0 0
原创粉丝点击