我想学习编程的人对 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
所以大家能够看出一个 / 我们也不容忽视, 这也成为我以后遇到问题的一个经验分享了~~
来源: http://www.bubuko.com/infodetail-2498111.html