`
Joy.zhang
  • 浏览: 59040 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

在JSP中设置HTTP应答头

    博客分类:
  • Jsp
阅读更多
本文介绍在JSP中设置HTTP应答头的文章专题。

PrimeNumbers.java

   注意,该Servlet要用到前面给出的ServletUtilities.java。另外还要用到:PrimeList.java,用于在后台线程中创建一个素数的Vector;Primes.java,用于随机生成BigInteger类型的大数字,检查它们是否是素数。(此处略去 PrimeList.java和Primes.java的代码。)
package hall;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class PrimeNumbers extends HttpServlet {
private static Vector primeListVector = new Vector();
private static int maxPrimeLists = 30;

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
int numPrimes = ServletUtilities.getIntParameter(request, "numPrimes", 50);
int numDigits = ServletUtilities.getIntParameter(request, "numDigits", 120);
PrimeList primeList = findPrimeList(primeListVector, numPrimes, numDigits);
if (primeList == null) {
primeList = new PrimeList(numPrimes, numDigits, true);
synchronized(primeListVector) {
if (primeListVector.size() >= maxPrimeLists)
primeListVector.removeElementAt(0);
primeListVector.addElement(primeList);
}
}
Vector currentPrimes = primeList.getPrimes();
int numCurrentPrimes = currentPrimes.size();
int numPrimesRemaining = (numPrimes - numCurrentPrimes);
boolean isLastResult = (numPrimesRemaining == 0);
if (!isLastResult) {
response.setHeader("Refresh", "5");
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Some " + numDigits + "-Digit Prime Numbers";
out.println(ServletUtilities.headWithTitle(title) +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H2 ALIGN=CENTER>" + title + "</H2>\n" +
"<H3>Primes found with " + numDigits +
" or more digits: " + numCurrentPrimes + ".</H3>");
if (isLastResult)
out.println("<B>Done searching.</B>");
else
out.println("<B>Still looking for " + numPrimesRemaining +
" more<BLINK>...</BLINK></B>");
out.println("<OL>");
for(int i=0; i<numCurrentPrimes; i++) {
out.println(" <LI>" + currentPrimes.elementAt(i));
}
out.println("</OL>");
out.println("</BODY></HTML>");
}

public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

// 检查是否存在同类型请求(已经完成,或者正在计算)。
// 如存在,则返回现有结果而不是启动新的后台线程。
private PrimeList findPrimeList(Vector primeListVector,
int numPrimes,
int numDigits) {
synchronized(primeListVector) {
for(int i=0; i<primeListVector.size(); i++) {
PrimeList primes = (PrimeList)primeListVector.elementAt(i);
if ((numPrimes == primes.numPrimes()) &&
(numDigits == primes.numDigits()))
return(primes);
}
return(null);
}
}
}

   PrimeNumbers.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>大素数计算</TITLE>
</HEAD>
<CENTER>
<BODY BGCOLOR="#FDF5E6">
<FORM ACTION="/servlet/hall.PrimeNumbers">
<B>要计算几个素数:</B>
<INPUT TYPE="TEXT" NAME="numPrimes" VALUE=25 SIZE=4><BR>
<B>每个素数的位数:</B>
<INPUT TYPE="TEXT" NAME="numDigits" VALUE=150 SIZE=3><BR>
<INPUT TYPE="SUBMIT" VALUE="开始计算">
</FORM>
</CENTER>
</BODY>
</HTML>
分享到:
评论

相关推荐

    jsp的一些初级总结

    **七、HTTP应答头设置** 使用HttpServletResponse对象,开发者可以设置HTTP应答头,如Content-Type(指定响应内容的类型),Cache-Control(控制缓存策略),以及Set-Cookie(创建Cookie)等。 **八、会话状态管理*...

    filter中重写应答要素

    在描述中提到的博文链接中,作者可能详细讨论了如何在Filter中修改响应的特定要素,如设置响应头、编码、状态码等。这些操作通常是为了实现诸如登录验证、内容编码转换、日志记录、性能监控等功能。 例如,为了设置...

    JSP应答代码

    JSP编译中报错是免了的,这里收集了一些错误码应答代码及说明

    JSP页面报错列表查询

    应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。 403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上...

    Java Servlet和JSP教程目录(13讲)

    - **应答头操作**:在Servlet中,通过`HttpServletResponse`对象设置应答头,如Location头用于重定向,Content-Type头用于指定响应内容的MIME类型。 #### 六、状态代码:HTTP响应的状态标识 - **状态代码概述**:...

    JSP网站在线客服系统

    在“Codejia.Com”这个压缩包中,可能包含了实现上述功能的JSP源代码。源码通常会包含以下几个部分: - 用户界面的JSP页面,如`chat.jsp`,展示聊天窗口和交互逻辑。 - 处理用户请求的Servlet或JSP,如`ChatHandler....

    电子科技大学成都学院JSP期末考试试题B

    JSP源文件在转换为servlet时,JSP引擎会捕获翻译错误,而当生成应答时,捕获的是运行时错误。 12. 正确显示变量`message`值的JSP标签是B. `<%= message %>`。这将把message变量的值插入到HTML输出中。 13. 对于给...

    基于JSP的办公自动化系统

    <br>系统含全套源码,合适朋友们在此基础上举一反三结合实际开发出优秀的JSP应用系统。 <br>学生毕业设计好教材! <br>本系统是Web模式的办公自动化系统 <br>运行环境:Tomact+JDK 编程模式:JSP+...

    jsp代码问题

    【标题】:“jsp代码问题”涉及的知识点 【描述】中的HTML代码是JSP(JavaServer Pages)页面的一部分,展示了创建一个简单的Web表单的...这部分内容虽然与JSP技术无关,但在求职过程中对个人职业技能的展现至关重要。

    基于JSP技术的旅游网站设计软件程序源码+数据库+word毕业设计论文文档.zip

    基于JSP技术的镇旅游网站设计软件程序源码+数据库+word毕业设计论文文档.旅游网站设计主要用于实现旅游景点信息管理,基本功能包括:主界面模块设计,用户注册模块,旅游景点模块,酒店预订模块,后台管理模块等。本...

    (源代码jsp基于Web的可维护的数据库浏览器+论文+答辩PPT)4.zip

    在JSP的请求过程中,是否涉及到了其他的组件,比如说JavaBean?如果有的话,他们在这个体系结构处与什么位置,扮演什么角色?  明白这些问题是很重要的。虽然JSP技术是基本的Servlet技术的继承,但是JSP在Servlet的...

    深入servlet&jsp 笔记

    这是一个比较完整的Servlet、JSP教程,包含大量的实用资料和示例,全文共十三章,主要包括:Servlet和JSP特点,安装和配置开发、运行环境,表单数据处理,HTTP请求头、应答状态处理,访问CGI变量,会话状态,JSP脚本...

    JSP方法(总结)

    - **setHeader(String name, String value)**:设置指定名字的HTTP文件头的值,如果已存在则会被覆盖。这对于控制响应行为非常重要。 #### 三、PageContext对象详解 **PageContext对象**提供了在JSP程序执行期间...

    JSP实用教程课件.ppt

    JSP 实用教程课件 以下是根据给定的文件信息生成的相关知识点: 一、 Web 浏览器的工作原理 * Web 浏览器与 Web 服务器连接 * Web 浏览器请求一个文档 * Web 服务器将请求的文档传回 * Web 浏览器显示文档 * Web ...

    http协议简介 http协议简介

    - **持久连接(Persistent Connection)**:HTTP/1.1中默认开启,允许客户端和服务器在一个TCP连接上发送多个请求和应答,提高了效率。 - **管道化(Pipelining)**:允许客户端在收到应答之前连续发送多个请求,...

    jsp探针 ver0.1

    jsp探针ceshi.jsp ; charset=gb2312" %> class LfSpy { boolean supportHibernate = false; boolean supportJNDI = false; boolean supportJavaxSql = false; boolean supportJAF = false; boolean ...

    J2EEWEB开发教材

    - **4.3.2 实例:在 Servlet 中读取请求头**:演示如何读取 HTTP 请求头。 - **4.3.3 实例:输出所有的请求头**:展示如何输出所有请求头信息。 **4.4 访问 CGI 变量** - **4.4.1 CGI 概述**:通用网关接口的历史...

    毕业论文设计-IT计算机-jsp个人理财系统(论文).zip

    8. **答辩技巧**:在答辩过程中,学生需要清晰地阐述项目背景、目标、设计思路、实现方法以及创新点,准备好对可能问题的应答。 综上所述,这个压缩包文件涵盖了从理论到实践的多个IT计算机领域的知识点,对于学习...

Global site tag (gtag.js) - Google Analytics