jsp_2

栏目: JSP · 发布时间: 4年前

内容简介:当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。我们便可以通过http协议获得更多的信息。而request对象是javax.servlet.http.HttpServletRequest类的实例。每当客户端请求一个页面时,JSP引擎就会产生一个新的对象来代表这个请求。下面这个例子使用HttpServletRequest类的getHeaderNames()方法来读取HTTP信息头。

当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。我们便可以通过http协议获得更多的信息。

而request对象是javax.servlet.http.HttpServletRequest类的实例。每当客户端请求一个页面时,JSP引擎就会产生一个新的对象来代表这个请求。

下面这个例子使用HttpServletRequest类的getHeaderNames()方法来读取HTTP信息头。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hqh</title>
</head>
<body>
<h2>HTTP 头部请求实例</h2>
<table width="100%" border="1" align="center">        <%-- table表格 --%>
<tr bgcolor="#949494">        <%--定义背景色--%>
<th>Header Name</th><th>Header Value(s)</th>        <%-- 表格标题 --%>
</tr>
<%
   Enumeration headerNames = request.getHeaderNames();        //返回所有HTTP头的名称集合
   while(headerNames.hasMoreElements()) {                    //获取Enumeration对象后,遍历Enumeration对象
      String paramName = (String)headerNames.nextElement();            
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getHeader(paramName);            //返回paramName指定的信息头,也就是对应的值
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

jsp_2

Enumeration getAttributeNames()(返回request对象的所有属性名称的集合),Enumeration getParameterNames()(返回请求中所有参数的集合)在尝试这两个对应的方法时没有输出有效的信息。可能是信息不足,才没有输出。

while(headerNames.hasMoreElements()) {                    
      String paramName = (String)headerNames.nextElement();            
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getParameter(paramName);            
      out.println("<td> " + paramValue + "</td></tr>\n");
   }



for(Enumeration e  =  request.getAttributeNames(); e.hasMoreElements();)  {
               Object o  =  e.nextElement();
               out.println((String) o  +   "      :        "   +  request.getAttribute((String) o)  +   " <br><hr> " );
           }

同样的服务器在接收到客户端的信息后,会传输信息到客户端上。

response 对象是 javax.servlet.http.HttpServletResponse 类的一个实例。就像服务器会创建request对象一样,它也会创建一个客户端响应。

这是一个实时显示时间的例子

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hqh</title>
</head>
<body>
<h2>自动刷新实例</h2>
<%
   response.setIntHeader("Refresh", 1);        // 设置每隔1秒自动刷新,指定 int类型的值到 name标头,通知浏览器在给定的时间后刷新,时间以秒为单位。
   Calendar calendar = new GregorianCalendar();        // 获取当前时间
   String am_pm;
   int hour = calendar.get(Calendar.HOUR);
   int minute = calendar.get(Calendar.MINUTE);
   int second = calendar.get(Calendar.SECOND);
   if(calendar.get(Calendar.AM_PM) == 0)
      am_pm = "AM";
   else
      am_pm = "PM";
   String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
   out.println("当前时间: " + CT + "\n");
%>
</body>
</html>

jsp_2

我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理。浏览器中使用 GET 和 POST 方法向服务器提交数据。

http://localhost:8080/tt2/NewFile.jsp?name=hqh&url=http://ww.hqh.com

tt2 为项目地址建立的NewFile.jsp文件的JSP程序用于处理客户端提交的表单数据。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hqh</title>
</head>
<body>
<h1>使用 GET 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
   <%= request.getParameter("name")%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

jsp_2


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用

卓金武 编 / 北京航空航天大学 / 2011-4 / 34.80元

《MATLAB在数学建模中的应用》从数学建模的角度介绍了MATLAB的应用。《MATLAB在数学建模中的应用》的4位作者均具有实际的数学建模参赛经历和竞赛指导经验。书中内容完全是根据数学建模竞赛的需要而编排的,涵盖了绝大部分数学建模问题的MATLAB求解方法。 《MATLAB在数学建模中的应用》内容分上下两篇。上篇介绍数学建模中常规方法MATLAB的实现,包括MATLAB交互、数据建模、程序......一起来看看 《MATLAB在数学建模中的应用》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试