同一个项目换了个tomcat就出现302是什么问题

我自叹逍遥 2016-03-28 06:46:54
如题,一个项目在myeclipce上运行很正常
然后我把myeclipce对应的tomcat下的项目拷贝到自己买的一台服务器上测试的时候,出现了302错误,页面跳转不到

请问着是什么问题啊?
我后台的代码
@RequestMapping("/userLoginPage")
public String userLoginPage(){
User user = (User) this.getRequest().getSession().getAttribute("user");
if(user!=null){
return "WEB-INF/pages/HtAdmin";
}
return "WEB-INF/pages/Login";
}


页面的代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
request.getRequestDispatcher("/user/userLoginPage").forward(request, response);
%>
...全文
1996 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个问题应该注意看302 回应的响应头。注意响应中的Location: 与请求get/post 路径细微差别就好了
我自叹逍遥 2016-03-30
  • 打赏
  • 举报
回复
引用 2 楼 Royal_lr 的回复:
是不是浏览器的问题,,都是7.0版本,,应该没什么差别吧
我最后调试发现唯一不同的是,一个是在本机跑,有通过项目名访问,另外一个是通过绑定域名访问,没有项目名,不知道是不是这个原因
Royal_lr 2016-03-29
  • 打赏
  • 举报
回复
是不是浏览器的问题,,都是7.0版本,,应该没什么差别吧
我自叹逍遥 2016-03-28
  • 打赏
  • 举报
回复
我打了断点,发现是拦截的问题

public static String getRelativeUrl(String uri){
		String removeRootSeperater = uri.substring(1, uri.length());
		
		int firstSeperateIndex = removeRootSeperater.indexOf("/");
		
		String realUri = removeRootSeperater.substring(firstSeperateIndex);
		
		return realUri;
	}
两个tomcat调用这个截取到的地址是不一样的,正常运行的是带项目名的xx/user/login这种形式 那个不能正常运行的通过这个截取到的是user/login,所以路径直接错了,这下更蒙了,都是tomcat7,就版本不一样而已

81,117

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧