我想学习编程的人对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中比較关键也比較easy出错,而我又出了错的地方:路径问题
<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,可是当我点击button要跳转时,却报错了,这就是加“/”与不加“/”的差别,由于我在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
所以大家能够看出一个“/”我们也不容忽视,这也成为我以后遇到问题的一个经验。分享了~~