1

我制作了一个小型 spring mvc 应用程序。在我的控制器中,我有 2 个方法返回 web-inf 文件夹中的 jsp 文件的名称。现在该应用程序运行良好,但如果我尝试添加一个 url 路径它不起作用。

我的意思是这样的:

@Controller
@RequestMapping("/start")  //if add this it doesn't work
public class SalesController {

@RequestMapping(value = "/greeting")
public String sayGreeting(Model model) {
    model.addAttribute("greetingMsg", "Hello Spring");
    return "welcome";
}

@RequestMapping(value = "/hello")
public String getHello(Model model) {
    model.addAttribute("greeting", "Yo man");
    return "hello";
     }
 }

这是我的 servletConfig 配置

<mvc:annotation-driven />
<context:component-scan base-package="com.myCompany" />

<bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="WEB-INF/jsps/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>

如果我给出路径“myApplicationName”/start/greeting 它会出错。但是,如果我删除 start 它可以工作。

这里似乎有什么问题?

谢谢

更新:

下面是我的 web.xml 配置

<servlet>
    <servlet-name>SpringServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/servletConfig.xml</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>SpringServlet</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
4

1 回答 1

0

在您的 URL 模式中添加/ .html* :

<servlet>
    <servlet-name>SpringServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/servletConfig.xml</param-value>
    </init-param> </servlet>

<servlet-mapping>
    <servlet-name>SpringServlet</servlet-name>
    <url-pattern>/*.html</url-pattern> </servlet-mapping>
于 2015-11-13T09:40:31.480 回答