2011-02-03 14 views
5

私はダミーのJSPページ(htmlcontent.jspという名前)を持つs​​pring mvcアプリケーションを持っています。 jspには文字列だけが含まれています。org.apache.jsp.foo_jsp._jspInit(java.util.jsp.java:22)のjava.lang.NullPointerException

HalloText 

これはjspの全内容です。コントローラは、以下のようになります。

package springapp.web; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 

@Controller 
public class HtmlContentController { 

    @RequestMapping("/htmlcontent.htm") 
    public String view() { 
     return "htmlcontent"; 
    } 
} 

Beanが

<bean id="htmlcontent" class="springapp.web.HtmlContentController"> 

私springapp-web.xmlに追加され、私のweb.xmlのサーブレットマッピングは、次のように定義されています

<servlet-mapping> 
    <servlet-name>springapp</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 

私は次のように電話する:

http://localhost:8080/spring-mvc-hsqldb/htmlcontent.htm 

その後、私はNullPointerExceptionが取得:catalina.outで

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: java.lang.NullPointerException 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:536) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

root cause 

java.lang.NullPointerException 
    org.apache.jsp.htmlcontent_jsp._jspInit(htmlcontent_jsp.java:22) 
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.30 logs. 

このエラーの任意のスタックトレースがありません。私はhttp://localhost:8080/spring-mvc-hsqldb/htmlcondsasdadastent.htmにURLを変更しようとすると、その後、私が取得:

WARNUNG: No mapping found for HTTP request with URI [/spring-mvc-hsqldb/htmlcondsasdadastent.htm] in DispatcherServlet with name 'springapp' 

だから私は、それは右のログファイルでなければならないと思います。誰かが私にヒントを与えることができますか、私は間違って何をしていますか?なぜ、NULLポインタスタックトレースがログファイルにないのですか? _jspInit()方法で

+0

tomcatのバージョンはこれですか? – skaffman

+0

コントローラーを@Controllerでマークすると、springapp-web.xmlにBeanを登録する必要はありません。 View Resolverの設定方法を投稿できますか?そして、あなたが使用しなければならないURLは、使用しているURLの代わりにhttp:// localhost:8080/htmlcontent.htmです。 – Javi

+1

localhost:8080/htmlcontent.htmを呼び出すと、404エラー(要求されたリソース(/htmlcontent.htm)が利用できません) ") – cupakob

答えて

21
java.lang.NullPointerException 
    org.apache.jsp.htmlcontent_jsp._jspInit(htmlcontent_jsp.java:22) 

A NPEは、現在実行しているものとは異なると古いバージョン管理servletcontainerのJSPライブラリとクラスパスの汚染を示しています。この問題を解決するには

、あなたはないを行うことを確認する必要があり、Webアプリケーションの/WEB-INF/libおよびJREのJRE/libJRE/lib/extでわからないために、このようなjsp-api.jarservlet-api.jarel-api.jarとして任意のservletcontainer固有のライブラリなどがあります。

サーブレット・コンテナ固有のライブラリは、サーブレット・コンテナ自体(Tomcat 6では、Tomcat/libフォルダ内にあります)に触れてはいけません。クラスパスに重複したり、別のサーブレット・コンテナを持たないでください。

+0

これは問題でした... :) thanks – cupakob

+0

ようこそ。 – BalusC

+1

stsテンプレートにはこのjarファイルが含まれていますが、pom.xmlから削除する必要がありました。 – Fixus

関連する問題