页面跳转问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package com.zhou.book.controller; import com.zhou.book.biz.CategoryBiz; import com.zhou.book.biz.impl.CategoryBizImpl; import com.zhou.book.entity.Category; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; // 分类控制器 public class CategoryController { private CategoryBiz categoryBiz = new CategoryBizImpl(); // /admin/Category/list . do 获取分类列表 public void list(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { List<Category> list = categoryBiz.getAllCategory(); request.setAttribute( "list" ,list); request.getRequestDispatcher( "/WEB-INF/pages/admin/category.jsp" ).forward(request,response); } // /admin/Category/toAdd . do 打开添加分类页面 public void toAdd(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.sendRedirect(request.getContextPath() + "/WEB-INF/pages/admin/add_category.jsp" ); } // /admin/Category/add . do 处理用户添加分类请求 public void Add(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { // 获取添加的分类的名字 String categoryName = request.getParameter( "categoryName" ); // 判断该分类是否存在 if (categoryBiz.selectById(categoryName) == null){ // 不存在则进行添加 categoryBiz.add(categoryBiz.selectById(categoryName)); } response.sendRedirect(request.getContextPath() + "/WEB-INF/pages/admin/category.jsp" ); } // /admin/Category/remove . do 删除分类 public void remove(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter( "id" ); categoryBiz.remove(Integer.parseInt( id )); response.sendRedirect(request.getContextPath() + "/WEB-INF/pages/admin/category.jsp" ); } } |
1 2 3 4 5 6 | 老师,我这里的toAdd()方法跳转到编辑分类页面一直显示404,上面是我的控制器, 下图1是我们category.jsp分类页面的新建超链接标签的截图,图2是我报错的截图,我记得 我们在讲请求转发和重定向的时候说过,重定向需要增加上下文路径,这里我使用 request.getContextPath() 来获取上下文路径,然后加上jsp在webapp下的目录为啥会404呢? 而且我发现我request.getCntextPath()好像获取不到值,因为我看了一下出错的地址栏中并 没有显示上下文路径 |
21
收起
正在回答
2回答
同学你好,WEB-INF目录是安全目录,该目录下的文件是不能通过浏览器地址直接访问,只能通过转发访问。建议同学将重定向修改为转发再试试。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧