1、out对象:把信息回送到客户端的浏览器中。
2、request对象:用来得到客户端的信息
3、response对象:处理服务器端对客户端的一些响应。
4、 application对象:用来保存网站的一些全局变量。
5、session对象:用来保存单个用户访问时的一些信息。
6、cookie对象:将服务器端的一些信息写到客户端的浏览器中。
7、pageContext对象:提供了访问和放置页面中共享数据的方式。
----out对象的使用:是javax.servlet.jsp.JspWriter的一个子类对象------

Code
<%
out.println("hello");
out.newLine();
out.write("hello");
%>
<%="hello"%>
<%
out.close();
%>
----response对象的使用:是javax.servlet.http.HttpServletResponse子类的对象-------

Code
response.sendRedirect("index.jsp");
----动态contentType响应:当请求一JSP页面的时候,如果该页面用page指令设置页面的contentType属性的值是
text/html,那么服务器将把表态页面部分发送给客户端。也可以设置相应的类型: text/plain(文本文件)、
application/x-msexcel(Excel文件)和(application/msword(Word文件)------

Code
<%@ page contentType="text/html;charset=GBK"%>
<html>
<body>
<P>response对象<br>setContentType方法</P>
<p>将当前页面保存为word文档吗</p>
<%
response.setContentType("application/msword;charset=gb2312");
%>
</body>
</html>
----HTTP文件头响应---------
五秒钟刷新一次

Code
<%@ page contentType="text/html;charset=GBK"%>
<%@ page improt="java.util.*" %>
<p>现在的时间是:</p>
<%
out.println("" + new Date());
response.setHeader("Refresh", "5");
%>
设置缓冲区:(在开发中为了确保显示的正确性,需要禁用页面缓冲,否则会显示其它用户的一些信息,
为了解决这个问题,使用下面的程序后,浏览器每次请求页面的时候,都取重新编译运行。)

Code
<%@ page improt="java.util.*" contentType="text/html;charset=gb2312"%>
<%
response.setHeader("pargma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", -1);
%>
------request对象的使用(javax.servlet.HttpServletRequest子类对象)----------
request.html页面

Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>request.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form method="post" action="request.jsp" name="form1">
<p>姓名: <input type="text" name="username"></p>
<p> 密码:<input type="password" name="password"></p>
<p> <input type="submit" value="提交" name="submit"></p>
</form>
</body>
</html>
request.jsp页面

Code
<%@ page import="java.util.*" contentType="text/html;charset=gb2312" %>
<%
//方法一:得到request.html中参数的值
request.setCharacterEncoding("gb2312");
String username = request.getParameter("username");
String password = request.getParameter("password");
out.println("username ---" + username);
out.println("<br>");
out.println("password ---" + password);
%>
<%
//方法二:得到request.html中参数的值
out.println("<hr>");
Enumeration params = request.getParameterNames();
while(params.hasMoreElements()) {
String names = (String)params.nextElement();
out.println(names + "-----");
out.println(request.getParameter(names));
out.println("<br>");
}
%>
得到客户的信息:
1、客户使用的协议:request.getProtocol();
2、获取接受客户提交信息的页面:request.getServletPath();
3、接受客户提交信息的长度:int length = request.getContentLength();
4、客户提交信息的方式:String method = request.getMethod();
5、获取HTTP头文件中User-Agent的值:String header1 = request.getHeader("User-Agent");
6、获取HTTP头文件中accept的值:String header2 = request.getHeader("accept");
7、获取HTTP头文件中Host的值:String header3 = request.getHeader("Host");
8、获取HTTP头文件中accept-encoding的值:String header4 = request.getHeader("accept-encoding");
9、获取客户的IP地址:String ip = request.getRemoteAddr();
10、获取客户机的名称:String clientName = request.getRemoteName();
11、获取服务器的名称:String serverName = request.getServerName();
12、获取服务器的端口号:String port = request.getServerProt();
汉字问题两种解决办法:
当利用request.getParameter得到Form元素的时候,默认情况的字符编码为:ISO-8859-1 这种编码不能正确的显示汉字。目前有两种方法可以解决。
一:在执行操作之前,设置request的编码格式,语法是:request.setCharacterEncoding("GBK");
二:转换字符编码的方法:

Code
<%
String str = request.getParameter("boy");
byte b[] = str.getBytes("ISO-8859-1");
str = new String(b);
%>