一个servlet问题?运行之后,提示404错误,请问哪里错了??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个servlet问题?运行之后,提示404错误,请问哪里错了??相关的知识,希望对你有一定的参考价值。

通过jsp页面提交表单到servlet中,处理完之后(将表单信息添加到数据库),跳转到显示信息页面,
web.web配置如下:
<servlet>
<description></description>
<display-name>addVendorServlet</display-name>
<servlet-name>addVendorServlet</servlet-name>
<servlet-class>myservlet.addVendorServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addVendorServlet</servlet-name>
<url-pattern>/myservlet/addVendorServlet</url-pattern>
</servlet-mapping>
表单 action ="/myservlet/addVendorServlet"
addVendorServlet.java代码:
package myservlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.Vendor;
import dao.VendorDAO;

public class addVendorServlet extends HttpServlet

/**
* 添加新的供应商;
* @author Administrator
*
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException

System.out.println("hello");
String vname = request.getParameter("gongying");
String city =request.getParameter("chengshi");
String address = request.getParameter("dizhi");
String postcode = request.getParameter("youbian");
String phone = request.getParameter("dianhua");
String linkman = request.getParameter("lianxiren");
String status = request.getParameter("status");

Vendor vendor= new Vendor(vname,city,address,postcode,phone,linkman,status);
VendorDAO vendorDao = new VendorDAO();
boolean flag = vendorDao.addVendor(vendor);

if(flag)

request.setAttribute("vname",vname);
request.setAttribute("city",city);
request.setAttribute("address",address);
request.setAttribute("postcode",postcode);
request.setAttribute("phone",phone);
request.setAttribute("linkman",linkman);
request.setAttribute("status",status);
response.sendRedirect("/getVendor.jsp");

else

response.sendRedirect("/um/404.html");




显示页面getVendor.jsp

404 not found
未找到该网页,说明此网页已经在服务器被删除或被改名。在安全助手里添加黑名单,把这个网站的网址输入进去。不让他弹出。
404是对NOT FOUND这种错误情况的一个编码,HTTP协议的错误信息在不同软件、不同的语言描述可能不同,但是其代码是统一的,以便浏览器能够正确识别和处理。
参考技术A action="addVendorServlet"
而不是像你写的那样,你配servle的时候,配置了一个name,下边配了一个mapping指定这个servlet的具体指向,调用的时候,直接调用这个name名字就可以,如果还是调用不来,查看你的servletmapping指向问题追问

我运行的时候,url可以跳转到addVendorSrevlet,是servlet代码有错,还是web.xml配置错了?
这个是目录结构

追答

你现在可以跳到servlet,并且servlet 中的程序己经执行,那里配置文件是没有错误,查看一下你的servlet,看一下哪里出错

本回答被提问者和网友采纳
参考技术B boolean flag = vendorDao.addVendor(vendor);追问

什么意思??这句错了么???

参考技术C action 中指定result 了?追问

你是问这个么?action ="/myservlet/addVendorServlet"

追答

在struts.xml中

/xxx /xxx.jsp
...

以上是关于一个servlet问题?运行之后,提示404错误,请问哪里错了??的主要内容,如果未能解决你的问题,请参考以下文章

当我运行以下代码时,我收到一个 Servlet 404 错误 [重复]

Tomcat 上的 Java servlet 出现 404 错误,但在 localhost 上运行良好

注解WebServlet配置Servlet报404错误的原因

运行Servlet时报实例化类错误,再次刷新变404

Linux上部署REST接口的应用报404

错误 404 - Java Servlet Doget 控制器方法