JSP内置对象
内置对象是不需要声明直接可以在JSP中使用的对象JSP有以下几种内置对象
request request表示HttpServletRequest对象它包含了有关浏览器请求的信息并且提供了几个用于获取cookie header 和session数据的有用的方法
response response表示HttpServletResponse对象并提供了几个用于设置送回 浏览器的响应的方法(如cookies头信息等)
out out 对象是javaxjspJspWriter的一个实例并提供了几个方法使你能用于向浏览器回送输出结果
pageContext pageContext表示一个javaxservletjspPageContext对象它是用于方便存取各种范围的名字空间servlet相关的对象的API并且包装了通用的servlet相关功能的方法
session session表示一个请求的javaxservlethttpHttpSession对象Session可以存贮用户的状态信息
application applicaton 表示一个javaxservleServletContext对象这有助于查找有关servlet引擎和servlet环境的信息
config config表示一个javaxservletServletConfig对象该对象用于存取servlet实例的初始化参数
page page表示从该页面产生的一个servlet实例
Servlet API中的几个对象
JSP提供了八个内部对象而其中的五个内部对象对应于Servlet API中的七个对象这也就使得我们正常理解并熟练使用Servlet中的这七个对象显得尤其重要这五个JSP的内部对象和Servlet API中的对象的对应关系是
request对象对应于javaxservlethttpHttpServletRequest和javaxservletServletRequest
response对象对应于javaxservlethttpHttpServletResponse和javaxservletServletResponse
session对象对应于javaxservlethttpHttpSession
application对象对应于javaxservletServletContext
config对象对应于javaxservletServletConfig
javaxservlethttpHttpServletRequest
这是一个接口在我们提到接口之前还是让我们来复习一下Java中接口的一个初步的解释
接口在语法上与类相似但是接口没有实例使用接口只是指定类必须做什么而不是如何做
HttpServletRequest接口用来处理一个对Servlet的HTTP格式的请求信息
javaxservletServletRequest
这也是一个接口这个接口定义一个Servlet引擎产生的对象通过这个对象Servlet可以获得客户端请求的数据这个对象通过读取请求体的数据提供包括参数的名称值和属性以及输入流的所有数据而javaxservlethttpHttpServletRequest也只是该接口的一个扩展也就是说该接口的所有方法也可以被javaxservlethttpHttpServletRequest所使用
javaxservlethttpHttpServletResponse接口
该接口用来描述一个返回到客户端的HTTP回应
javaxservletServletResponse接口
该接口用来定义一个Servlet引擎产生的对象通过这个对象Servlet对客户端的请求作出响应这个响应应该是一个MIME实体可能是一个HTML页图象数据或其他MIME的格式javaxservlethttpHttpServletResponse接口是该接口的扩展
javaxservlethttpHttpSession接口
该接口用来描述一个session至于什么是session我想在这里就没必要说了吧
javaxservletServletContext接口
该接口用来定义了一个Servlet的环境对象也可是认为这是多个客户端共享的信息它与session的区别在于应用范围的不同session只对应于一个用户
javaxservletServletConfig接口
该接口定义了一个对象通过这个对象Servlet引擎配置一个Servlet每一个ServletConfig对象对应着一个唯一的Servlet
javaxservlethttpCookie类
这个类描述了一个cookiecookie的作用其实与session很类似只是cookie保存在客户端session保存在服务器端
如何列出windows下的逻辑分区?
public void ListDisks()
{ File[] roots = FilelistRoots();
for (int i=; i
Systemoutprintln(roots[i]);
}
}
如何获得可用的硬盘空间?
目前尚未发现有任何干净利落的纯Java方法能够解决这个问题通常的解决方案是直接访问操作系统获得这些信息有一个被称为JConfig的类库提供了一些方法可以获得磁盘和文件信息但是可以肯定这个类库使用了JNI方法
下载地址
如果你使用的是晕倒死系列操作系统那么下面的方法也许能够获得正确的结果我之所以说也许是因为我在多个晕倒死平台上作过实际测试在英文版的晕倒死上基本上都能够得到正确的结果在中文版的晕倒死上基本上都不能够获得正确的结果
String osname = SystemgetProperty(osname);
String command = ;
if (osnameindexOf(NT) > )
command = c:\winnt\System\cmdexe;
else if (osnameindexOf(Windows) > )
command = c:\windows\;
Process p = RuntimegetRuntime()exec( command + /c dir > c:\dirtxt);
pwaitFor();
然后你需要做的是对得到的dirtxt文件进行分析
如果你使用的是UNIX/Linux操作系统你可以使用类似的方法来获得相关信息建议使用的命令是df k > dirtxt
文件操作的基本原则是什么?
a 避免多次访问磁盘例如一次读出n个字节就比每次读出个字节的访问效率要高很多
b 避免多次访问操作系统
c 避免多次调用文件存取方法
d 避免将字节和字符混淆处理在Java语言中字节与字符的概念是不一样的在涉及到双字节字符的问题上更是容易出错