问题描述
为什么不能添加数据?提交后出现错误!!addproduct.jsp文件<%@pagecontentType="text/html;charset=gb2312"language="java"import="com.jspdev.ch12.*,java.util.*,java.io.*,myservlet.*"errorPage="error.jsp"%><%request.setCharacterEncoding("GB2312");%><html><head><title>添加一本新书</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><jsp:useBeanid="category"class="com.jspdev.ch12.ViewCategory"scope="page"/><bodytext="#000000"background="/wy/pic/pic_08.gif"leftmargin=2topmargin=2bgproperties="fixed"><scriptlanguage="JavaScript"><!--functionRgTest(){if(document.product.productId.value==""){window.alert("请输入完整的信息!");document.product.productId.focus();returnfalse;}if(document.product.name.value==""){window.alert("请输入完整的信息!");document.product.name.focus();returnfalse;}if(document.product.price.value==""){window.alert("请输入完整的信息!");document.product.price.focus();returnfalse;}if(document.product.producer.value==""){window.alert("请输入完整的信息!");document.product.producer.focus();returnfalse;}if(document.product.description.value==""){window.alert("请输入完整的信息!");document.product.description.focus();returnfalse;}returntrue;}//--></script><center><fontface="Arial"size="+8"color=tan><B>增加一本新的图书</B></font><br><br><br><br><formaction="/wy/servlet/AddServlet"method="post"name="product"><fieldset><tr><tdalign="center">图书ID:<inputtype="text"name="productId"></td></tr><tdalign="center">图书名称:<inputtype="text"name="name"></td><tdalign="center">图书价格:<inputtype="text"name="price"></td><tr><tdalign="center">出版社:<inputtype="text"name="producer"></td></tr><br><br><tr><tdalign="center">类别:<selectname="categoryId"><%Collectioncategorys=category.getAllCategory();Iteratorit=categorys.iterator();while(it.hasNext()){Categorytemp=(Category)it.next();out.println("<optionvalue="+temp.getCategoryId()+">"+temp.getCategoryId()+"</option>");}%></select></td></tr><br><br><p>描述:<textareaname="description"cols="40"rows="5"></textarea></fieldset><tr><td><inputtype="submit"value="提交"onClick="returnRgTesat()"></td></tr></table></form></center></body></html>addServlet.java文件packagemyservlet;importjava.io.*;importjavax.servlet.ServletException;importjavax.servlet.http.*;importjava.sql.*;importcom.jspdev.ch12.*;importcom.jspdev.util.*;publicclassAddServletextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");PrintWriterout=response.getWriter();StringproductId=request.getParameter("productId");Stringname=request.getParameter("name");Stringprice=request.getParameter("price");Stringproducer=request.getParameter("producer");Stringdescn=request.getParameter("description");StringcategoryId=request.getParameter("categoryId");//下面三步将界面的值传入到Bean中Productlbean=newProduct();lbean.setProductId(productId);lbean.setCategoryId(categoryId);lbean.setName(name);lbean.setDescription(descn);lbean.setProducer(producer);lbean.setPrice(price);try{//下面为写入数据库ProductBeanaduB=newProductBean();aduB.addProduct(lbean);out.println("<html>");out.println("<head><title>addRecord</title></head>");out.println("<body>");out.println("<p>AddSuccess</p>");out.println("<ahref="http://172.18.119.239:8080/TestJSP/index.html">return</a>");out.println("</body></html>");}catch(Exceptione){e.printStackTrace();}}publicvoiddestroy(){super.destroy();}}错误信息HTTPStatus404-/wy/servlet/AddServlet--------------------------------------------------------------------------------typeStatusreportmessage/wy/servlet/AddServletdescriptionTherequestedresource(/wy/servlet/AddServlet)isnotavailable.--------------------------------------------------------------------------------ApacheTomcat/6.0.14
解决方案
解决方案二:
你的action没有写对,楼主,很可能是你的路径没有写对
解决方案三:
web.xml没有配对吧?要不贴出来瞧瞧
解决方案四:
请求路径无效,你看看你web.xmlservlet的路径是什么,是否和/wy/servlet/AddServlet一致。最好给servlet的URL起个别名,比如XXX.jsp
解决方案五:
<?xmlversion="1.0"encoding="ISO-8859-1"?><!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"><web-app><servlet><servlet-name>AddServlet</servlet-name><servlet-class>myservlet.AddServlet</servlet-class></servlet><servlet><servlet-name>UpdateServlet</servlet-name><servlet-class>myservlet.UpdateServlet</servlet-class></servlet><servlet><servlet-name>DeteleServlet</servlet-name><servlet-class>myservlet.DeteleServlet</servlet-class></servlet><servlet-mapping><servlet-name>AddServlet</servlet-name><url-pattern>/servlet/AddServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>UpdateServlet</servlet-name><url-pattern>/servlet/UpdateServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DeteleServlet</servlet-name><url-pattern>/servlet/DeteleServlet</url-pattern></servlet-mapping></web-app>
解决方案六:
不知道你用的什么框架,用不用加后缀,比如说:.do或者.action
解决方案七:
要不然就是你前边的路径写错了
解决方案八:
我是在CSDN里下的个,我们要交个作业,JSP没学会
解决方案九:
<formaction="/wy/servlet/AddServlet"method="post"name="product">该成<formaction="servlet/AddServlet"method="post"name="product">试试
解决方案十:
忘记+/了应该是<formaction="/servlet/AddServlet"method="post"name="product">
解决方案十一:
用相对路径试一下。
解决方案十二:
引用9楼lt42287949的回复:
忘记+/了应该是<formaction="/servlet/AddServlet"method="post"name="product">
<formaction="<%=path%>/servlet/AddServlet"method="post"name="product">这个基本不会找不到了
解决方案十三:
路径没找到,看你的配置,没看出什么毛病。
解决方案十四:
action所指向路径应该和所对应的servlet的url-pattern相同
解决方案十五:
我的也是你的问题原原本本的后来看来他们的提示其实就是外面文件夹的名字给我改过所以会这样的错误出现的哈哈谢谢啦
解决方案:
路径没配对`
解决方案:
action="servlet/AddServlet"
解决方案:
<formaction="/wy/servlet/AddServlet"method="post"name="product">为什么不是servlet/AddServlet??
解决方案:
很明显路径错了
解决方案:
用<%=path%>还是很好用....