0

私はSpringMVCを学んでいるので、ここからSpring3.0MVCシリーズをフォローしています。

ご覧のとおり、Part1、Part2を完了し、現在Part3で、Spring3MVCを使用してフォームを処理する方法を学習しています。

しかし、アプリケーションを実行しようとすると、このHTTP404エラーが発生します。プロジェクトの構造とこのエラーは、下の画像で確認できます。

どうすればこれを修正できますか?

ここに画像の説明を入力してください

ContactController.javaコード:

package net.viralpatel.spring3.controller;

import net.virtalpatel.spring3.form.Contact;

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.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

@Controller
@SessionAttributes
public class ContactController {

@RequestMapping(value = "/addContact", method = RequestMethod.POST)
public String addContact(@ModelAttribute("contact")
Contact contact, BindingResult result) {

    System.out.println("First Name:" + contact.getFirstname() + 
                "Last Name:" + contact.getLastname());

    return "redirect:contacts.html";
}

@RequestMapping("/contacts")
public ModelAndView showContacts() {

    return new ModelAndView("contact", "command", new Contact());
}}

spring-servlet.xmlコード:

<?xml version="1.0" encoding="UTF-8"?>

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">

<context:component-scan
    base-package="net.viralpatel.spring3.controller" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

**** index.jspコード:****

<jsp:forward page="contacts.html"></jsp:forward>

web.xmlコード:

<?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</display-name>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

4

3 に答える 3

1

あなたindex.jspはに転送されcontacts.htmlます。

ただし、Spring構成にはのマッピングがなく、代わりに/contacts.htmlマッピングされています/contacts

/contactsマッピングを次のように変更する必要があります

@RequestMapping("/contacts.html")
public ModelAndView showContacts() {
    return new ModelAndView("contact", "command", new Contact());
}
于 2013-03-06T16:09:04.093 に答える
1

に変更contactするだけcontacts

変化する

return new ModelAndView("contact", "command", new Contact());

return new ModelAndView("contacts", "command", new Contact());

問題はあなたの転送にあります。それは contact.jsp をチェックしますが、実際には contact.jsp があります (あなたは .jsp として接尾辞プロパティを持っています)

于 2013-03-07T04:44:18.493 に答える
0

localhost:8080/Spring3MVC/index.jsp ご覧のとおり、まず index.jsp を開いて contact.jsp にリダイレクトしようとしています – Zookey 44 分前

私はあなたがそれを混同していると思います。1) タイプミスがあります。contact.jsp と書いてありますが、ファイル名は contacts.jsp (Eclipse でのファイル名) です。2) contact.html ファイルはどこにありますか? 最初にjspに戻り、コントローラーがjspを返すようにできるかどうかを確認してから、作成後にhtmlファイルにリダイレクトしてみてください。

于 2013-03-06T17:23:42.107 に答える