jsp页面重定向后地址栏controller名重复而导致报404错误
今天做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错误的更多相关文章
- Eclipse配置tomcat后,启动tomcat,访问tomcat报404错误
当你在Eclipse中新建一个工程,配置好tomcat,然后测试tomcat是否配置成功的时候,报404错误异常. 解决方法: 1,把工程文件删除,重新建立一个新的工程, 2,新建一个工程. 3,Ne ...
- JSP-Runoob:JSP 页面重定向
ylbtech-JSP-Runoob:JSP 页面重定向 1.返回顶部 1. JSP 页面重定向 当需要将文档移动到一个新的位置时,就需要使用JSP重定向了. 最简单的重定向方式就是使用respons ...
- springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。
springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...
- <mvc:default-servlet-handler/>导致controller失效,报404错误
最近在做ssm框架整合的一个小项目时,页面跳转一直有404错误,也没有报错提示.然后一步一步去找,终于发现是<mvc:default-servlet-handler/>的原因.如下图所示, ...
- 在ubuntu上面安装phpmyadmin后,报404错误
安装完mysql后,我想装一个phpmyadmin方便mysql管理. 在终端执行命令:sudo apt-get install libapache2-mod-auth-mysql phpmyadmi ...
- IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误
情景: 说明:ExtJS是我后来的改的名字--原来叫extjs,可是当我把在页面的引用地址改为 src="ExtJS/.."后页面就报404错误,我把它改回之前的extjs就可以( ...
- tomcat第一次使用正常启动后访问8080端口报404错误
问题:tomcat第一次使用正常启动后访问8080端口报404错误 解决办法:双击tomcat调出tomcat的xml文件页面,Server Locations 默认是选第一行即Use Workspa ...
- Vue项目build打包部署到Tomcat后,刷新报404错误解决方案
问题描述: 一.更新依赖,并打包项目 cd /root/.jenkins/workspace/v-test;npm installcd /root/.jenkins/workspace/v-test; ...
- 前端jsp页面script引入url项目名使用${appName}
<script src="/${appName}/commons/jslib/CommonValue.js"></script> 新建一个com.autum ...
随机推荐
- 一步一图带你深入剖析 JDK NIO ByteBuffer 在不同字节序下的设计与实现
让我们来到微观世界重新认识 Netty 在前面 Netty 源码解析系列 <聊聊 Netty 那些事儿>中,笔者带领大家从宏观世界详细剖析了 Netty 的整个运转流程.从一个网络数据包在 ...
- MySQL更新锁表超时 Lock wait timeout exceeded
背景 最近在做一个订单的钉钉审批功能,钉钉审批通过之后,订单更新审核状态,然后添加一条付款,并且更新付款状态: // 订单审批通过 @Transactional(rollbackFor = Excep ...
- SecureCRT 和 Xshell 连接ENSP 教程
前言:很多人问我说想尝试使用 CRT和Xshell连接 ENSP的某台设备,以模拟现网中的工作状态,所以出了这篇随笔. ENSP版本: Xshell 连接教程 Xshell 7 评估版(其他版本没测试 ...
- 【NOI P模拟赛】大阶乘(斯特林数)
题意 求 16 16 16 进制下, n ! n! n! 去掉尾部 0 0 0 后取模 2 64 2^{64} 264 的结果. n < 2 64 n<2^{64} n<264 一共 ...
- Python入门系列(二)语法风格
python缩进 Python使用缩进来表示代码块,例如 if 5 > 2: print("Five is greater than two!") 如果跳过缩进,Python ...
- 完全彻底的卸载MySQL5.7.35
最开始接触计算机的时候关于MySQL卸载的这个问题,导致我重装了一次系统.就在今天我又遇到了同样的问题. Setp①: 想要安装新的数据库软件必须要先彻底且干净的删除掉以前的数据库. 第一步要做的是停 ...
- KingbaseES V8R6集群维护之--修改数据库服务端口案例
案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...
- spark 解决 java.util.Date is not a valid external type for schema of Date
出错伪代码如下: //出错的点在这里 import java.util.Date ... val t_rdd = t_frame.rdd.map(row => { val photo_url = ...
- Python实践项目——LSB隐写术
此为北京理工大学某专业某学期某课程的某次作业 一.项目背景 1.隐写术 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容. 2.L ...
- 使用 Spring Boot Admin 监控应用状态
程序员优雅哥 SpringBoot 2.7 实战基础 - 11 - 使用 Spring Boot Admin 监控应用状态 1 Spring Boot Actuator Spring Boot Act ...