今天做ssm项目时遇到了这种错误

看看代码:

  无关代码省略。。。
22 <body>
23 <div id="container">
24 <iframe id="header" src="${pageContext.request.contextPath }/header.jsp" width="980" height="136" frameborder="0" scrolling="no"></iframe>
25 <div id="main">
26 <div class="cat">
27 <%
28 List<Category> pcategories = (List<Category>)session.getAttribute("pcategories");
29 if(pcategories==null){
30 response.sendRedirect("categoryController/getParentCategoryId");
31 return;
32 }
33 for(int i = 0 ; i < pcategories.size() ; i ++){
34 Category pcategory = pcategories.get(i);
35 %>
36 <ul>
37 <h1><%=pcategory.getName() %></h1>
38 <%
39 Set<Category> ccategories = pcategory.getcCategory();
40 for(Category child : ccategories){
41 %>
42 <li><a href='${pageContext.request.contextPath }/info.jsp'><%=child.getName() %></a></li>
43 <%
44 }
45 %>
46 </ul>
47 <%
48 }
49 %>
50 无关代码省略了。。。
68 <%
69 List<Product> products = (List<Product>)session.getAttribute("products");
70 if(products==null){
71 response.sendRedirect("productController/getImageById");
72 return;
73 }
74 for(int k = 0 ; k < products.size() ; k++){
75 Product product = products.get(k);
76 /* Iterator<ImageDTO> imagesIter = dto.getImagesDTO().iterator(); */
77 Set<Image> images = (Set<Image>) product.getImages();
78 for(Image image : images){
79 %>
80 <dl>
81 <dt>
82 <img src="${pageContext.request.contextPath }/upload/<%=image.getUrl() %>" alt="alt" width="90" height="90" />
83 </dt>
84 <dd>
85 <a href="${pageContext.request.contextPath }/infoController/getProductInfo?productIdStr=<%=image.getProductId() %>"><%=product.getName() %></a>
86 </dd>
87 </dl>
88 <%
89 }
90 %>
91 <%
92 }
93 %>
94
133 </body>
134 </html>

上面红色部分就是重定向的代码,跑上面代码就报404,百度了几个小时,没找出解决方案,后来自己仔细想一想,确定是重定向的路径错误。

于是一开始做了以下修改:

if(pcategories==null){
  response.sendRedirect("${pageContext.request.contextPath }/categoryController/getParentCategoryId");
  return;
}

无脑加上${pageContext.request.contextPath }(@_@原谅我的新手。。。)

发现还是报错。。。

又百度了一堆还是没解决,自己又再想想,思路没错,应该是写法出错,嗯,是这样!

果然,做了以下修改后就正确了

if(products==null){
  response.sendRedirect(request.getContextPath()+"/productController/getImageById");
  return;
}

jsp页面重定向后地址栏controller名重复而导致报404错误的更多相关文章

  1. Eclipse配置tomcat后,启动tomcat,访问tomcat报404错误

    当你在Eclipse中新建一个工程,配置好tomcat,然后测试tomcat是否配置成功的时候,报404错误异常. 解决方法: 1,把工程文件删除,重新建立一个新的工程, 2,新建一个工程. 3,Ne ...

  2. JSP-Runoob:JSP 页面重定向

    ylbtech-JSP-Runoob:JSP 页面重定向 1.返回顶部 1. JSP 页面重定向 当需要将文档移动到一个新的位置时,就需要使用JSP重定向了. 最简单的重定向方式就是使用respons ...

  3. springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。

    springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...

  4. <mvc:default-servlet-handler/>导致controller失效,报404错误

    最近在做ssm框架整合的一个小项目时,页面跳转一直有404错误,也没有报错提示.然后一步一步去找,终于发现是<mvc:default-servlet-handler/>的原因.如下图所示, ...

  5. 在ubuntu上面安装phpmyadmin后,报404错误

    安装完mysql后,我想装一个phpmyadmin方便mysql管理. 在终端执行命令:sudo apt-get install libapache2-mod-auth-mysql phpmyadmi ...

  6. IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误

    情景: 说明:ExtJS是我后来的改的名字--原来叫extjs,可是当我把在页面的引用地址改为 src="ExtJS/.."后页面就报404错误,我把它改回之前的extjs就可以( ...

  7. tomcat第一次使用正常启动后访问8080端口报404错误

    问题:tomcat第一次使用正常启动后访问8080端口报404错误 解决办法:双击tomcat调出tomcat的xml文件页面,Server Locations 默认是选第一行即Use Workspa ...

  8. Vue项目build打包部署到Tomcat后,刷新报404错误解决方案

    问题描述: 一.更新依赖,并打包项目 cd /root/.jenkins/workspace/v-test;npm installcd /root/.jenkins/workspace/v-test; ...

  9. 前端jsp页面script引入url项目名使用${appName}

    <script src="/${appName}/commons/jslib/CommonValue.js"></script> 新建一个com.autum ...

随机推荐

  1. Vue3系列2--项目目录介绍及运行项目

    1 Vite项目目录 用Vscode打开创建的项目,看到下面的目录结构: 通过运行  npm install 初始化项目后生成两个初始化文件:node_modules和 package-lock.js ...

  2. AI识万物:从0搭建和部署手语识别系统 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 计算机视觉实战系列: https://www.showmeai.tech ...

  3. Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式

    Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根 ...

  4. Apache DolphinScheduler 使用文档(8/8):附录

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 附录.队列管理 附录.令牌管理 附录.队列管理 Q : ...

  5. Git 01 介绍

    参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 版本控制 版 ...

  6. java-异步与并发之基础

    1.线程提供了一个方法: void join()该方法允许一个线程在另一个线程上等待,直到其完成工作后才解除阻塞运行.所以join可以协调线程之间同步运行线程调用join()方法,方法后就进入阻塞状态 ...

  7. ftp: connect: No route to host 解决方案

    实验环境: centos7 x2 server-vsftp:192.168.1.32 client:192.168.95 客户端测试访问 ftp服务器 报错:ftp: connect: No rout ...

  8. which 和 that 在定语从句中作介词宾语的用法

    关系代词在定语从句中作介词的宾语,且介词在关系代词之前时,关系代词应该用 which:介词在定语从句句末,关系代词可以用 that 或 which. (一)He teaches in a school ...

  9. windows10/11高性能模式开启

    大部分用户windows10和11高性能模式都被隐藏了 并且没有隐藏选项我们如何开启呢如下 win+R如下 打开运行-输入cmd进入后输入代码如下 powercfg -SETACTIVE 8c5e7f ...

  10. 【Java】idea同时运行多个一样的类

    点击"Edit Configurations..." 在左侧选中需要重复运行的类 单击"Modify options" 选择"Allow multip ...