1

こんにちは、春の世界では新しいので、@Controller 表記を使用して独自のコントローラーを作成したいのですが、何か悪いことをしていると思います。誰でも私を助けることができますか?

これが私のディスパッチサーブレットです

<bean  Class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>


 <context:component-scan base-package="hibernateTest.web" />

<context:annotation-config/>

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>


<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp" />

そして、これが私のコントローラーです

package springapp.web;

import com.sun.msv.reader.Controller;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.LogFactory;
import org.hibernate.validator.internal.util.logging.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;
import springapp.service.ProductManager;


@org.springframework.stereotype.Controller

public class HelloController {
protected final Log logger = (Log) LogFactory.getLog(getClass()); 
private ProductManager productManager; 


@RequestMapping("/hello.htm")
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse  response)

        throws ServletException, IOException { 

    String now = (new java.util.Date()).toString();

    logger.info("returning hello view with " + now); 

    Map<String, Object> myModel = new HashMap<String, Object>();

    myModel.put("now", now);

    myModel.put("products", this.productManager.getProducts()); 

    return new ModelAndView("hello", "model", myModel);

 }}

hello.jsp が存在する場合、これを実行した結果は 404 です。

4

1 に答える 1

0

あなたのコントローラークラスは packagespringapp.webにありcontext:component-scanますが、にbase-package設定していhibernateTest.webます。

hibernateTest.webパッケージ内のアノテーション付きクラスのみを検索するように構成が指示されているため、Spring はコントローラーを検出できません。

パッケージ名を変更するとcontext:component-scan、これが修正されます。

<context:component-scan base-package="springapp.web" />
于 2013-11-09T23:49:58.757 に答える