2016-06-26 7 views
0

私はSimpleServletという名前の簡単なサーブレットを作成し、私はそれでjspページをリンクしよう:のTomcat - 要求されたリソースが利用可能でない - のIntelliJ IDEA - のJava EE

 String varTextA = "Hello World!"; 
     String varTextB = "It's JSP."; 

     request.setAttribute("textA", varTextA); 
     request.setAttribute("textB", varTextB); 

     RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/index.jsp"); 
     dispatcher.forward(request, response); 

しかしTomcat 9は私にこのことを示しています

HTTP Status 404 - /index.jsp 

type Status report 

message /index.jsp 

description The requested resource is not available. 

マイプロジェクトツリー:

├── FirstJavaEEProject.iml 
├── out 
│   ├── artifacts 
│   │   └── simple_mod_war_exploded 
│   │    ├── index.jsp 
│   │    └── WEB-INF 
│   │     ├── classes 
│   │     │   └── servlets 
│   │     │    └── SimpleServlet.class 
│   │     └── web.xml 
│   └── production 
│    └── simple-mod 
│     └── servlets 
│      └── SimpleServlet.class 
├── pom.xml 
├── src 
│   ├── main 
│   │   ├── java 
│   │   │   └── servlets 
│   │   │    └── SimpleServlet.java 
│   │   └── resources 
│   └── test 
│    └── java 
├── target 
│   ├── classes 
│   │   └── servlets 
│   │    └── SimpleServlet.class 
│   ├── first-java-ee-1.0-SNAPSHOT 
│   │   ├── META-INF 
│   │   │   └── MANIFEST.MF 
│   │   └── WEB-INF 
│   │    ├── classes 
│   │    │   ├── servlets 
│   │    │   │   └── SimpleServlet.class 
│   │    │   └── webapp 
│   │    ├── lib 
... 
│   │    └── web.xml 
│   ├── first-java-ee-1.0-SNAPSHOT.war 
│   ├── generated-sources 
│   │   └── annotations 
│   ├── maven-archiver 
│   │   └── pom.properties 
│   ├── maven-status 
│   │   └── maven-compiler-plugin 
│   │    ├── compile 
│   │    │   └── default-compile 
│   │    │    ├── createdFiles.lst 
│   │    │    └── inputFiles.lst 
│   │    └── testCompile 
│   │     └── default-testCompile 
│   │      └── inputFiles.lst 
│   └── surefire 
└── web 
    ├── index.jsp 
    └── WEB-INF 
     └── web.xml 

マイweb.xml :私はあなたがMavenとのIntelliJを使用している参照

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 

    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
     <servlet-name>simple</servlet-name> 
     <servlet-class>servlets.SimpleServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>simple</servlet-name> 
     <url-pattern>/simple</url-pattern> 
    </servlet-mapping> 
</web-app> 

答えて

1

、私はまた、あなたがデフォルトの達人/ IntelliJのプロジェクトの設定を変更していないと仮定します。
あなたターゲットフォルダでは、あなたのWebアプリケーションフォルダが

  • が欠落しているプロジェクトのルートでごウェブフォルダーを削除します。このフォルダはビルド時にMaven/intellijによって単純に選択されません。その結果、index.jspは存在しません。
  • webappというフォルダをsrc/mainの下に作成します。
  • index.jspをwebappの下に移動します。

webapp/WEB-INF /の下にすべてのjspビューページを置いて直接アクセスできないようにすることをお勧めします。そのため、MVCが強制されます。
このようにして、サーブレットのjspにアクセスします。/WEB-INF/index.jsp

関連する問題