我想学习编程的人对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" οnsubmit="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
所以大家可以看出一个“/”我们也不容忽视,这也成为我以后遇到问题的一个经验,分享了~~