页面跳转问题
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 星