页面跳转问题
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"); } }
老师,我这里的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积分~
来为老师/同学的回答评分吧
0 星