JSP中各种内置对象
JSP中各种内置对象
web交互的最基本单位是http请求。每个用户从进入网站到离开网站这段过程称为一个HTTP会话,一个服务器的运行过程中会有多个用户访问,就是多个HTTP会话。作用域解释如下:
1.application:服务器启动到停止的这段时间
2.session:HTTP会发开始到结束的这段时间
3.request:HTTP请求开始到结束的这段时间
4.page:当前页面从打开到关闭这段时间
一.application作用域
(1)获取application对象的副本
1.在JSP中直接使用application以代表application对象
2.通过ServletConfig接口
使用ServletConfig接口可以间接获取application对象,但是这个application对象的名称不能同样为application。因为application是JSP引擎创建的默认的application对象的副本,不可以被覆盖。可以通过调用getServletContext()方法返回一个ServletContext接口的对象,也就是application对象的一个副本.
3.使用pageContext对象获取application对象
pageContext对象的getServletContext()同样返回一个application对象的副本.
(2)
1.Object getAttribute(String name) :从application中获取信息。
2.void setAttribute(String name,Object value) :向application中输入信息。
3.Enumeration getAttributeNames() :返回所有与当前的application对象绑定在一起的参数或者java对象的名字。
4.void removeAttribute(String name) :通过该方法,我们可以使某个参数或者java对象与application对象解除绑定关系。
5.getServerInfo() :该方法可以获得当前服务器的详细信息,不同的服务器返回的信息格式不一样。
6.log(String msg) :该方法往往用于往服务器的log文件中写入信息,之于是哪一个log文件,则由服务器决定。利用这个方法,我们可以在log文件中记录访问者的信息,这对于统计访问流量来源方面十分有用,同时也利于管理员监控网站的运行情况。其实,还有一个同名但是不同参数的log()方法,利用后者,我们可以将JSP程序执行过程中所发生的错误事件都计入log文件中。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
String username1="george";
String username2="robin";
String password1="george";
String password2="robin";
out.println("set application attri
相关文档:
我先说明一下配置环境的大概情况:
* FreeBSD 7.0-RELEASE
* apache-2.2.9
* mod_jk-ap2-1.2.26
* diablo-jdk-1.6.0.07.02
* tomcat-6.0.16
具体的版本信息显示如下:
freebsd# pkg_info
apache-2.2.9_5 Version 2.2.x of Apache web server&nbs ......
Servlet:
在Servlet中,跳转在doGet或者doPost方法中实现。
<1>redirect实现页面跳转:
response.sendRedirect("/login.jsp");
方法的参数是相对路径,设定这个参数可以使页面跳转到任何页面,包括www.baidu.com等网络页面。
跳转后你可以发现地址栏发生了变化。
底层原理:使用redir ......
·pageContext:提供对页面属性的访问。
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
pageContext.setAttribute("basePath",basePath);
%>
使用:
${pageScope}
·reques ......
1、如何混合使用Jsp和SSI #include?
在JSP中可以使用如下方式包含纯HTML:
但是如果data.inc中包含JSP CODE ,我们可以使用:
2、如何执行一个线程安全的JSP?
只需增加如下指令
3、JSP如何处理HTML FORM中的数据?
通过内置的request对象即可,如下:
String item = request.getParameter("item");
int howM ......
在jsp中,如果在url中传递中文时会出现乱码,在网上关于这一问题的解决方法五花八门,但都不是很奏效!其实解决方法非常简单: 第一步:编码(以传递的参数为str为例) 在传递数据前将str进行编码Java.net.URLEncoder.encode(str) 第二步:解码 在获取数据端将得到的数据进行解码 new String(str.getBytes("ISO8859_1"))
......