我使用Struts2创建了一个项目。
它在我的localhost
中完美运行,但在将其上传到服务器后,它显示HTTP Status 404 - /pages/show.jsp
。只有在将war文件上传到服务器之后,我面临的许多页面都面临着同样的问题。很多时候我删除了war文件并再次上传,但同样的问题仍然存在。
我在服务器上使用Apache Tomcat 8。 可能是什么原因解决这个问题?
我在JSP中添加了<jsp:include page="/pages/show.jsp"/>
的文件
我的pom.xml
是http://pastebin.com/MHpaLEmf。
错误日志为http://pastebin.com/NsgLe9RK
答案 0 :(得分:2)
您需要设置基本网址,看一下这个例子
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="req" value="${pageContext.request}" />
<c:set var="url">${req.requestURL}</c:set>
<c:set var="uri" value="${req.requestURI}" />
<!doctype html>
<html lang="en">
<head>
<title>SO question 2204870</title>
<base href="${fn:substring(url, 0, fn:length(url) - fn:length(uri))}${req.contextPath}/">
<script src="js/global.js"></script>
<link rel="stylesheet" href="css/global.css">
</head>
<body>
<ul>
<li><a href="home.jsp">Home</a></li>
<li><a href="faq.jsp">FAQ</a></li>
<li><a href="contact.jsp">Contact</a></li>
</ul>
</body>
</html>
答案 1 :(得分:1)
您的Tomcat日志显示多个java.net.BindException: Address already in use
例外。这意味着Tomcat使用的端口已被其他应用程序使用。更改当前使用这些端口的Tomcat配置或关闭应用程序中的端口。