我想学习编程的人对404和500都是很敏感很熟悉的,在做DRP系统的时候多次遇到这两个错误,今天让我遇到他而且让我铭记他,那就是一个“/”:
这是说jsp出问题了,而且找不到,学过java的同学都知道servlet/item是我建立servlet后的一个虚拟目录,配置文件都这么写:
<servlet> <servlet-name>AddItemServlet</servlet-name> <servlet-class>com.bjpowernode.drp.basedata.web.AddItemServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AddItemServlet</servlet-name> <url-pattern>/servlet/item/AddItemServlet</url-pattern> </servlet-mapping>上面的配置文件是没有问题的,下面是我的jsp中比较关键也比较容易出错,而我又出了错的地方:路径问题
<body class="body1"> <form name="itemForm" id="itemForm" action="<span style="background-color: rgb(255, 0, 0);">/servlet/item/AddItemServlet</span>" method="post" onsubmit="return validateForm(this)">这个加红的地方看上去是没有问题,就是请求servlet,但是当我点击按钮要跳转时,却报错了,这就是加“ /”与不加 “ / ”的区别,因为我在jsp中加入了basePath(推荐博客),也就是web全路径:
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>path-------------------------------------------------------/servlet/Item/AddItemServlet
basePath---http+://+localhost+:+8181+/servlet/Item/AddItemServlet+/ (http://localhost:8181/servlet/Item/AddItemServlet)
而我在代码中又加了“/”这样之后,地址就变成http://localhost:8181//servlet/Item/AddItemServlet
所以大家可以看出一个“/”我们也不容忽视,这也成为我以后遇到问题的一个经验,分享了~~