我的java web工程bookStore结构:
bookList.jsp在bookStore/admin/bookList.jsp
QueryServlet.java在包com.weyi.book.servlet.common下,
在bookList.jsp中执行下面: <!--如果图书列表为空,则应该从Servlet处获取最新图书列表 -->
<c:if test="${books==null}">
<!-- 注意区别JSP五种页面跳转方法的区别 -->
<jsp:forward page="QueryBookServlet"></jsp:forward>
</c:if>
时发现找不到QueryBookServlet,发现原来是<jsp:forward page="QueryBookServlet"></jsp:forward>
请求时自动加上bookStore/admin/QueryBookServlet,请问该怎么办呢?能告诉我请求过程是什么原理吗?为什么会加上那个虚拟根目录呢?
bookList.jsp在bookStore/admin/bookList.jsp
QueryServlet.java在包com.weyi.book.servlet.common下,
在bookList.jsp中执行下面: <!--如果图书列表为空,则应该从Servlet处获取最新图书列表 -->
<c:if test="${books==null}">
<!-- 注意区别JSP五种页面跳转方法的区别 -->
<jsp:forward page="QueryBookServlet"></jsp:forward>
</c:if>
时发现找不到QueryBookServlet,发现原来是<jsp:forward page="QueryBookServlet"></jsp:forward>
请求时自动加上bookStore/admin/QueryBookServlet,请问该怎么办呢?能告诉我请求过程是什么原理吗?为什么会加上那个虚拟根目录呢?
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>QueryBookServlet</servlet-name>
<servlet-class>com.weiyi.book.servlet.user.QueryBookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>QueryBookServlet</servlet-name>
<url-pattern>/QueryBookServlet</url-pattern>
</servlet-mapping>要是没有放在amdin这个文件夹下就可以啊???比如我前台的查询过程QueryBookServlet就可以,前台的JSP这些都是直接放在WebRoot下
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>QueryBookServlet</servlet-name>
<servlet-class>com.weiyi.book.servlet.user.QueryBookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>QueryBookServlet</servlet-name>
<url-pattern>/bookStore/admin/QueryBookServlet</url-pattern>
</servlet-mapping>
,不过这样也不行
<c:if test="${books==null}">
<!-- 注意区别JSP五种页面跳转方法的区别 -->
<jsp:forward page="<%=path %>/AdminQueryBookServlet"></jsp:forward>
</c:if>
<c:if test="${books==null}">
<!-- 注意区别JSP五种页面跳转方法的区别 -->
<jsp:forward page="<%=path %>/AdminQueryBookServlet"></jsp:forward>//就是这句。
</c:if>
直接就报错,bookList.jsp(42,52)"%>什么之类的异常
去掉这句后就没错了。接下来你说的这句话
还有一点就是强烈建议使用相对路径,实际项目中没人会……
,我觉得做项目过程中或者以后的维护中,可能会移动些.jsp之类的文件,如果用相对路径,容易出错造成维护困难等,当然这些个人一点观点而已