关于tomcat加载servlet出错的问题,提示:HTTP Status 405 - HTTP method GET is not supported by this URL
如题,最近从书上看了一段利用servlet搭建网上购物车的程序,用tomcat加载时就提示HTTP Status 405 - HTTP method GET is not supported by this URL,
从网上发现很多人都朋友到过这个问题,按照很多中解决方案我的问题还是没有结果。
最近要利用这个做一个大作业,时间比较紧,麻烦大家了,帮忙看一下问题处在哪?程序里明明没有使用doGet()方法,为什么还提示那个错误?
源程序如下:
package bits;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ShoppingServlet extends HttpServlet{
private void doForward(String strurl,HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
String url=strurl;
ServletContext sc=getServletContext();
RequestDispatcher rd=sc.getRequestDispatcher(url);
rd.forward(req,res);
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
req.setCharacterEncoding("GBK");
HttpSession session =req.getSession(false);
if(session==null)
{
res.sendRedirect("/jsp/error.html");
}
Vector buylist=(Vector)session.getAttribute("shopping.shoppingcart");
String action=req.getParameter("command");
if(action.equals("DELETE"))
{
String del=req.getParameter("productvalue");
int d=(new Integer(del)).intValue();
int i=0;
for(i=0;i<buylist.size();i++)
{
item cd=(item)buylist.elementAt(i);
if(cd.getID()==d)
{
break;
}
}
buylist.removeElementAt(i);
session.setAttribute("shopping.shooppingcart",buylist);
doForward("/Cart",req,res);
}
else if(action.equals("ADD"))
{
boolean match=false;
item aCD=getCD(req);
if(buylist==null)
{
buylist=new Vector();
buylist.addElement(aCD);
}
else
{
for(int i=0;i<buylist.size();i++)
{
item cd=(item)buylist.elementAt(i);
if(cd.getID()==aCD.getID())
{
cd.setQuantity(cd.getQuantity()+aCD.getQuantity());
buylist.setElementAt(cd,i);
match=true;
}
}
if(!match)
{
buylist.addElement(aCD);
}
session.setAttribute("shopping.shoppingcart",buylist);
doForward("/Eshopping",req,res);
}
}
else if(action.equals("CHECKOUT"))
{
float total=0;
for(int i=0;i<buylist.size();i++)
{
item anOrder=(item)buylist.elementAt(i);
float price=anOrder.getPrice();
int qty=anOrder.getQuantity();
total+=(price*qty);
}
total+=0.005;
String amount=new Float(total).toString();
int n=amount.indexOf('.');
amount=amount.substring(0,n+3);
req.setAttribute("amount",amount);
doForward("/Checkout.jsp",req,res);
}
}
private item getCD(HttpServletRequest req)
{
String myCD=req.getParameter("productvalue");
StringTokenizer t=new StringTokenizer(myCD,"|");
String ID=t.nextToken();
String name=t.nextToken();
String desc=t.nextToken();
String price=t.nextToken();
item cd=new item();
cd.setName(name);
cd.setID(Integer.parseInt(ID));
cd.setDesc(desc);
cd.setPrice((new Float(price)).floatValue());
cd.setQuantity(1);
return cd;
}
}