gpt4 book ai didi

spring - 如何让 Spring MVC View (JSP) 的一个简单案例能够正常工作?

转载 作者:行者123 更新时间:2023-12-02 09:20:42 24 4
gpt4 key购买 nike

我的应用程序使用 Spring MVC(最新;3.2.2)创建返回 JSON 的 RESTful API,到目前为止我根本不需要 View 层。但现在,除了 API 之外,我还需要一个简单的实用程序页面(纯动态 HTML)并希望使用 JSP。

我想要请求 http://localhost:8080/foo/<id>通过 Controller (Java) 并最终到达 JSP。应该很简单吧?但我得到了 404;解析 View 时有些问题。

HTTP ERROR 404
Problem accessing /jsp/foo.jsp. Reason:

Not Found

Controller :

 @RequestMapping(value = "/foo/{id}")
public String testing(@PathVariable String id, ModelMap model) {
model.addAttribute("id", id);
return "foo";
}

定义 Controller 和映射请求有效;这个方法被调用就好了。

Spring 配置:

<mvc:annotation-driven/>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/jsp/" p:suffix=".jsp"/>

问题可能就出在这里。我尝试了稍微不同的前缀并将 JSP 放在 WEB-INF 下,以及像 <mvc:view-controller path="/*" /> 这样的东西但还没有运气。

(我是否需要指定InternalResourceViewResolver,或者默认 View 解析器应该处理这个问题?)

JSP 文件。下src/main/webapp/jsp (该项目使用 Maven 约定)我显然有 JSP。

这个位置有问题吗?

web.xml:

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

我浏览过Spring MVC documentation ,但我的问题可能太微不足道、太明显,无法轻松地在那里找到帮助。 :-P

谁能告诉我我做错了什么?

最佳答案

我认为你需要做的是改变

<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>
如果路径中存在其他文件夹,例如 /jsp/foo.jsp,则

/* 将不匹配。另一方面,/ 将匹配所有内容。

关于spring - 如何让 Spring MVC View (JSP) 的一个简单案例能够正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com