[英]Spring Web Services Class Not Found Exception
我將在線閱讀springource.org的春季教程。
http://static.springsource.org/docs/Spring-MVC-step-by-step/part2.html
在第2章中,最后,您可以在前綴和后綴/WEB-INF/jsp/
和.jsp
添加一個bean來響應。
到目前為止,代碼基本上應該在轉到localhost時加載index.jsp:8080 / springapp /將重定向到localhost:8080 / springapp / hello.htm,它創建一個HelloController的實例,理論上應該將你發送到/ WEB -INF / JSP / hello.jsp中。 當我添加前綴/后綴bean並將我的所有引用更改為“hello”而不是完全路徑化的jsp文件時,我開始收到以下錯誤:
message Handler processing failed; nested exception is
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/fmt/LocalizationContext
我已經嘗試過多次回顧樣本並檢查拼寫錯誤,但我仍然找不到問題。 任何提示或指示?
index.jsp(在webapp的根目錄中:
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<%-- Redirected because we can't set the welcome page to a virtual URL. --%>
<c:redirect url="/hello.htm" />
HelloController.java(減去導入和包:
public class HelloController implements Controller {
protected final Log logger = LogFactory.getLog(getClass());
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String now = (new Date()).toString();
logger.info("Returning hello view with " + now);
return new ModelAndView("hello", "now", now);
}
}
我的hello.jsp文件:
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<!DOCTYPE html>
<html>
<head>
<title>Hello :: Spring Application</title>
</head>
<body>
<h1>Hello - Spring Application</h1>
<p>Greetings, it is now <c:out value="${now}" /></p>
</body>
</html>
好像你在這里錯過了JSTL jar。 嘗試下載它並將其放在類路徑中以查看它是否有效: 我在哪里可以下載JSTL jar
似乎某些必需的jar(s)在classpath中丟失了。 確保在類路徑上有servlet-api-2.x.jar jsp-api-2.x.jar和jstl-1.x.jar
請確保jstl.jar
文件位於WEB-INF/lib
文件夾中。
事實上,這是您鏈接的教程中所述的內容。 我想你錯過了這一步:
我們將使用JSP標准標記庫(JSTL),所以讓我們首先將我們需要的JSTL文件復制到'WEB-INF / lib'目錄中。 將'spring-framework-2.5 / lib / j2ee'目錄中的jstl.jar和'spring-framework-2.5 / lib / jakarta-taglibs'目錄中的standard.jar復制到'springapp / war / WEB-INF / lib ' 目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.