今天编写项目的时候,从前端jsp页面,通过请求操作到controller控制器,实现跳转到相对于的jsp页面,自己的所有配置都没有问题,但是却在页面上得到404结果反馈。解答请见最后的结论
jsp页面实现点击我的账户,请求到controller中
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<div id="divhead">
<table cellspacing="0" class="headtable">
<tr>
<td>
<a href="#">
<img src="${pageContext.request.contextPath}/client/images/logo.png" width="200" height="60" border="0" />
</a>
</td>
<td style="text-align:right">
<img src="${pageContext.request.contextPath}/client/images/cart.gif" width="26" height="23" style="margin-bottom:-4px" /> <a href="#">购物车</a>
| <a href="#">帮助中心</a>
| <a href="${pageContext.request.contextPath}/accountpage">我的帐户</a>
| <a href="${pageContext.request.contextPath}/registerpage">新用户注册</a>
</td>
</tr>
</table>
</div>
controller
//接收⽤户的跳转到我的账户请求
@RequestMapping(value="/accountpage",method=RequestMethod.GET)
public String accountPage() {
System.out.println("跳转到我的账户页面");
return "client/myAccount";
}
myAccount.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>电子书城</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/client/css/main.css" type="text/css" />
<script type="text/javascript">
//退出确认框
function confirm_logout() {
var msg = "您确定要退出登录吗?";
if (confirm(msg)==true){
return true;
}else{
return false;
}
}
</script>
</head>
<body class="main">
<jsp:include page="head.jsp" />
<jsp:include page="menu_search.jsp" />
<div id="divpagecontent">
<table width="100%" border="0" cellspacing="0">
<tr>
<td width="25%">
<table width="100%" border="0" cellspacing="0" style="margin-top:30px">
<tr>
<td class="listtitle">我的帐户</td>
</tr>
<tr>
<td class="listtd">
<img src="${pageContext.request.contextPath }/client/images/icon1.png" width="15" height="10" />
<a href="${pageContext.request.contextPath }/client/modifyuserinfo.jsp">用户信息修改</a>
</td>
</tr>
<tr>
<td class="listtd">
<img src="${pageContext.request.contextPath }/client/images/icon2.png" width="15" height="10" />
<a href="${pageContext.request.contextPath}/findOrderByUser">订单查询</a>
</td>
</tr>
<tr>
<td class="listtd">
<img src="${pageContext.request.contextPath }/client/images/icon3.png" width="15" height="10" />
<a href="${pageContext.request.contextPath}/logout" onclick="javascript:return confirm_logout()">用户退出</a>
</td>
</tr>
</table>
</td>
<td>
<div style="text-align:right; margin:5px 10px 5px 0px">
<a href="${pageContext.request.contextPath }/index.jsp">首页</a>
>
我的帐户 > 欢迎
</div>
<table cellspacing="0" class="infocontent">
<tr>
<td style="padding:20px"><p>
<img src="${pageContext.request.contextPath }/client/images/myad.jpg" width="631" height="436" />
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<jsp:include page="foot.jsp" />
</body>
</html>
其他配置都没问题,但是启动服务器,出现404
自己琢磨了很久也不知道是什么原因,后面想到自己是李勇maven管理的SSM项目,于是去看target文件夹是否生成了相应的资源,结果发现自己的target没有生成myaccount.jsp。于是手动的复制了一份到target文件
target是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件,所有都是Maven构建时生成的。
最后成功的解决问题,当然处理target文件的方法有很多,大家可以自己去试试其他的方法,而不是选择复制一份jsp。