3

Spring 3.1 MVCアプリケーションに取り組んでいますが、ブラウザーでまったくレンダリングされないJSPがあります。代わりに、「要求されたリソース()は利用できません」というメッセージが表示されます。誰か助けてもらえますか?これが私のエラーメッセージです。

    HTTP Status 404 - 

--------------------------------------------------------------------------------

type Status report

message 

description The requested resource () is not available.

これはGuestBook.jspです。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="myTag" uri="commentsTag"%>
<html>
<head>
<title>Granada High School Class of 1986 Comment Page</title>
<!-- Put a confirmation message here once you
     figure out how to do it with Spring -->
<style type="text/css">
p {
    text-align: justify;
}

h1 {
    text-align: center;
}
</style>
</head>
<body>
    <h1>Granada High School Class of 1986 Guest Book</h1>
    <%@ include file="menu.jsp"%><br>
    <b><font color="red"><c:out value='${confirmation}' /></font></b>
    <c:remove var="confirmation" scope="session" />
    <p>This page is a place where you can share memories from high
        school, what you're doing these days, comments about this web site
        (good or bad), etc. The comments will appear at the bottom of the
        page.</p>
    <form:form method="post" action="GuestBook.jsp" modelAttribute="comment">
        <table>
            <tr>
                <td><form:label path="name">Name</form:label></td>
                <td><form:input path="name" /></td>
            </tr>
            <tr>
                <td><form:label path="message">Message</form:label></td>
                <td><form:textarea path="message" rows="10" cols="50" /></td>
            </tr>
            <tr>
                <td><input type="submit" value="Submit comment" /></td>
                <td>&nbsp;</td>
            </tr>
        </table>
    </form:form>
    <br>
    <myTag:comments />
    <%@ include file="footer.jsp"%>
</body>
</html>

これはcom.controller.CommentController.javaです。

package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.dao.CommentDAO;
import com.model.Comment;

@Controller
@RequestMapping("/GuestBook.jsp")
public class CommentController {
    Comment comment;

    public Comment getComment() {
        return comment;
    }

    public void setComment(Comment comment) {
        this.comment = comment;
    }

    @RequestMapping(value = "/GuestBook", method = RequestMethod.POST)
    public String addComment(@ModelAttribute("comment") Comment comment, BindingResult result) {
        CommentDAO commentDAO = new CommentDAO();
        java.util.Date today = new java.util.Date();
        java.sql.Date date = new java.sql.Date(today.getTime());
        comment.setDate(date);

        if (commentDAO.writeComment(comment) == true) {
            return "redirect:GuestBook.jsp";
        }

        return "redirect:Oops.jsp";
    }

    @RequestMapping("/GuestBook")
    public ModelAndView showComments() {
        return new ModelAndView("comments", "command", new Comment());
    }
}

これはweb.xmlです。

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>Granada High School Class of 1986</display-name>
    <servlet>
        <servlet-name>ghs1986</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>ghs1986</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

    <listener>
        <listener-class>com.configuration.ConfigurationListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <welcome-file-list>
        <welcome-file>home.jsp</welcome-file>
    </welcome-file-list>
</web-app>

これはapplicationContext.xmlです。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context-3.0.xsd
                http://www.springframework.org/schema/mvc
                http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <mvc:annotation-driven />

    <context:component-scan base-package="com.controller" />

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>

</beans>

これはghs1986-servlet.xmlです。

<?xml version="1.0" ?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean name="comment" class="com.model.Comment" />

    <bean name="/GuestBook.jsp" class="com.controller.CommentController">
        <property name="comment" ref="comment" />
    </bean>
</beans>
4

1 に答える 1

6

次のことを試してください:

1)web.xmlで、変更します

<url-pattern>/*</url-pattern>

<url-pattern>/</url-pattern>

2)コードを移動する

<mvc:annotation-driven />

<context:component-scan base-package="com.controller" />

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

applicationContext.xmlからghs1986-servlet.xmlへ

3)CommentControllerで、次のように変更@RequestMapping("/GuestBook.jsp")します。@RequestMapping("/GuestBook")

4)CommentControllerで、変更します

@RequestMapping("/GuestBook")
public ModelAndView showComments() {
...
}

のようなものに

@RequestMapping("/showComments")
public ModelAndView showComments() {
...
}

のようなURLで再試行してくださいhttp://localhost:<your_port>/GuestBook/showComments。あなたはあなたのページにアクセスできるはずです。他のエラーがあるかもしれませんが、ここでは404エラーのみを扱っています。

5)オプション(ただし、強くお勧めします):いくつかのドキュメントと優れた入門チュートリアルを読んで、基本的なベストプラクティスと設定方法を学びます。

于 2012-07-15T19:39:35.050 に答える