JSP中设置HTTP应答头

js

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>

时间: 2024-12-28 19:57:05

JSP中设置HTTP应答头的相关文章

jsp Servlet基础入门学习:设置HTTP应答头

js|servlet     8.1 HTTP应答头概述 Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档.设置HTTP应答头往往和设置状态行中的状态代码结合起来.例如,有好几个表示"文档位置已经改变"的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头. 然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的.应答头可以用来完成:设置Cookie,

JSP 设置HTTP应答头

js 8.1 HTTP应答头概述 Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档.设置HTTP应答头往往和设置状态行中的状态代码结合起来.例如,有好几个表示"文档位置已经改变"的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头. 然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的.应答头可以用来完成:设置Cookie,指定修改日期,指示浏览器

八、设置HTTP应答头

 8.1 HTTP应答头概述 Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档.设置HTTP应答头往往和设置状态行中的状态代码结合起来.例如,有好几个表示"文档位置已经改变"的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头. 然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的.应答头可以用来完成:设置Cookie,指定修改日期,指示浏览器按照

八、设置HTTP应答头_JSP编程

8.1 HTTP应答头概述 Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档.设置HTTP应答头往往和设置状态行中的状态代码结合起来.例如,有好几个表示"文档位置已经改变"的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头. 然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的.应答头可以用来完成:设置Cookie,指定修改日期,指示浏览器按照指

怎么在jsp中设置一个数组全局变量,加static报错??能用application吗,怎么用

问题描述 急求大神解救 解决方案 解决方案二:小弟刚来,分给的少别介意.....解决方案三:你是什么意思啊,是不同页面共享这个数组全局变量吗?那就用request.getSession().setAttribute解决方案四:你在class里加,然后把这个classimport进来试试解决方案五:我用Arraylist数组new了一个goodslist对象用来存商品信息,然后把goodslist存到session中,我想定义一个全局变量,当从jsp传值(商品的name等)过来时依次存到goods

关于 HTTP应答头的问题 tshhgd 请看

问题 HTTP应答头 1 HTTP应答头概述 Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档.设置HTTP应答头往往和设置状态行中的状态代码结合起来.例如,有好几个表示"文档位置已经改变"的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头. 然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的.应答头可以用来完成:设置Cookie,指定修改日期

jsp-JSP中设置table的border属性无效

问题描述 JSP中设置table的border属性无效 下面是我设置的代码: <table border="100px" bordercolor="green"> <tr> <td> ID </td> <td> 标题 </td> <td> 描述 </td> <td> 价格 </td> <td> 数量 </td> <td

jsp中使用jstl导入html乱码问题解决方法_JSP编程

在jsp中通过jst的<c:import>导入html时会出现乱码的现象,其原因是org.apache.taglibs.standard.tag.common.core.ImportSupport 的charEncoding的值为空则会出现charEncoding为默认值也就是ISO-8859-1 所幸的是charEncoding可以直接通过<c:import>直接设置,所以只需设置一下就好了,许多人说可以通过在html中通过meta设置contentType,但我试验过却不行,也

jsp中空格怎么可以设置成自己定义的距离

问题描述 jsp中空格怎么可以设置成自己定义的距离 写jsp是写一些文字是空格的大小也是根据前面设置的文字来默认是多少px的.那可以不让它默认而是自己设定吗? 解决方案 不推荐使用空格来实现长篇幅占位,如果实在没别的解决办法可以用一个空的标签实现 <span>姓名:<span style="width:25px;width:2em;width:1%;"> </span>小明</span> 如果只是一个空格的长度,那主要由font下的属性决