7

コントローラーのメソッドにいくつかの SYSOUT があり、それらはコンソール ログに表示されます... すべての @RequestMapping が期待どおりに動作していることを確認します。環境 Bean の @Autowiring も機能しています (SYSOUT によっても正しく表示されます)。

ただし、メソッドの戻り値 (文字列型を返すメソッドを使用しています) は 404 のみになります。*.jsps が見つかりません。プロジェクトは Maven を使用しています。IDE は日食ケプラー、FWIW です。

私の ViewResolver はボグ標準です。断線が見えません。

私のweb.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/ javaee/web-app_2_5.xsd">

<display-name>BluPrint</display-name>

<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet .DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

<context-param>
<param-name>groupId</param-name>
<param-value>${project.groupId}</param-value>
</context-param>

<context-param>
<param-name>artifactId</param-名前>
<param-value>${project.artifactId}</param-value>
</context-param>

</web-app>

私のservlet.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:aop=" http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/ tx" xmlns:util="http://www.springframework.org/schema/util"
xmlns:batch="http://www.springframework.org/schema/batch" xmlns:task="http://www .springframework.org/schema/task"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xjp="http://www.corpabc.com/schema/xjp"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/mvc http:/ /www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1 .xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/jee http ://www.springframework.org/schema/jee/spring-jee-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx -3.1.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/task http:/ /www.springframework.org/schema/task/spring-task-3.1.xsd
http://www.corpabc.com/schema/xjp http://www.corpabc.com/schema/xjp/beans.xsd">

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

<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />

< import resource="classpath:corpabc/xjp/configuration/properties.xml" />

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<プロパティ名="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>

<bean id="dataSourceDB2" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/BluPrint" />
<property name="resourceRef" value= "true" />
</bean>

<xjp:environment artifactId="${artifactId}" groupId="${groupId}" />

</beans>

私のコントローラー:

package com.corpabc.bluprint.controllers;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import corpabc.xjp.configuration.env.Environment;

/**
 * 
 * Handles requests for the application.
 */

@Controller
@RequestMapping("/*")
public class BluPrintController {

    @Autowired
    private Environment xjpEnvironment;

    @RequestMapping("/init")
    protected String catchInit(Map<String, Object> model) {
        System.out.println("Got into init method.  XJP Environment: "+xjpEnvironment);
        model.put("xjp", this.xjpEnvironment);
        return "envtest";
    }

    @RequestMapping("/*")
    protected String catchAllOthers(Map<String, Object> model) {
        System.out.println("Got into catch-all method: ");
        return "defaultPage";
    }
}

envtest.jspは...の下にあり/WEB-INF/jsp/ますが、URLを入力する~localhost:8080/bluprint/initと... 404が表示されます。

My defaultPage.jspdoes not exist... ここでは not found の状態が予想されます~localhost:8080/bluprint/。具体的には 404 にするべきかどうかはわかりませんが、いずれにせよ、それは私が得たものです。

4

2 に答える 2

0

* を使用しているため、サーブレットマッピングから * を削除します * は任意の要求を意味し、任意のページを取得し始めます。したがって、削除します*

から

<servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
  </servlet-mapping>

<servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
  </servlet-mapping>

于 2020-04-19T10:09:11.677 に答える