Topic: 求助:Apache Tomcat/4.1.24 + jdk14

  Print this page

1.求助:Apache Tomcat/4.1.24 + jdk14 Copy to clipboard
Posted by: flyingdd
Posted on: 2004-11-23 11:07

我的一个小程序使用Tomcat/4.1.24和JDK 1.4,错误提示 HTTP method GET is not supported by this URL,不知道错在哪里了,哪位高手帮忙指点一二:
源代码如下:
。。。
public void doPost(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException {
int petWeight=0, petLegs=0;
try{
petWeight=Integer.parseInt(req.getParameter("weight"));
petLegs=Integer.parseInt(req.getParameter("legs"));
} catch (NumberFormatException nfe) {
petWeight=petLegs=-1;
}
resp.setContentType("test/html");

PrintWriter out=resp.getWriter();

out.println("<html><body><hl>Recommended Pet</hl><p>");
out.println("You want a " + petLegs + "-legged pet weighting "
+ petWeight + "lbs.");
String pet =recommendedPet(petWeight,petLegs);
out.println("<P> we recommend getting <b>" + pet);
。。。

2.Re:求助:Apache Tomcat/4.1.24 + jdk14 [Re: flyingdd] Copy to clipboard
Posted by: jimmywin
Posted on: 2004-11-23 19:34

换成实现doGet方法,或者在doGet方法中调用doPost,不过建议最好再了解一下Servlet

Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一:
doGet:处理GET请求
doPost:处理POST请求
doPut:处理PUT请求
doDelete:处理DELETE请求
doHead:处理HEAD请求
doOptions:处理OPTIONS请求
doTrace:处理TRACE请求

通常情况下,在开发基于HTTP的servlet时,开发者只需要关心doGet和doPost方法,其它的方法需要开发者非常的熟悉HTTP编程,因此这些方法被认为是高级方法。

而通常情况下,我们实现的servlet都是从HttpServlet扩展而来。

doPut和doDelete方法允许开发者支持HTTP/1.1的对应特性;
doHead是一个已经实现的方法,它将执行doGet但是仅仅向客户端返回doGet应该向客户端返回的头部的内容;
doOptions方法自动的返回servlet所直接支持的HTTP方法信息;
doTrace方法返回TRACE请求中的所有头部信息。

对于那些仅仅支持HTTP/1.0的容器而言,只有doGet, doHead 和 doPost方法被使用,因为HTTP/1.0协议没有定义PUT, DELETE, OPTIONS,或者TRACE请求。

另外,HttpServlet定义了getLastModified方法以支持有条件的(conditional)get 操作。有条件的get操作是指使用GET方式请求资源并且在头部指定只有在资源内容在指定时间后被修改的情况下服务器才有必要回应请求并发送请求的内容。对于那些实现doGet方法并且在不同请求之间内容相同的servlet而言,它应该实现这个方法以提高网络资源的利用率。

另外要提及的是,按照规范的要求,servlet容器至少要实现HTTP/1.0协议规范,推荐实现HTTP/1.1规范,在此基础上可以实现其它的基于请求回应模式(based request response model)的协议(例如HTTPS)。

3.十分感谢 [Re: jimmywin] Copy to clipboard
Posted by: flyingdd
Posted on: 2004-11-24 10:36

看来小弟需要仔细Servlet才行,谢了!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923