Jeo*_*eol 1 java spring jsp servlets spring-mvc
web.xml中
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/webmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)
/WEB-INF/spring/webmvc-config.xml
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="atom" value="application/atom+xml" />
<entry key="html" value="text/html" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
调节器
@Controller
@RequestMapping ( "/" )
public class IndexController extends BaseController
{
@RequestMapping ( "/" )
public String index ( Model model ){
System.out.println("AA");
return index2(model);
}
@RequestMapping ( "/index" )
public String index2 ( Model model ){
System.out.println("BB");
return "index";
}
}
Run Code Online (Sandbox Code Playgroud)
并存在index.jsp文件

我觉得这很好用
BBBBBBBBBBBUUUUUUUUTTTTTTTT,但是!

为什么????为什么????为什么????为什么????
而且更奇怪

?????????????????????????????????????????????????? ????????????????
控制器工作吧!! 但不要显示浏览器
这是怎么回事?
请帮我.
并记录
名为"dispatcher"的DispatcherServlet处理[/WEB-INF/views/index.jsp]的GET请求
在DispatcherServlet中找不到带有URI [/WEB-INF/views/index.jsp]的HTTP请求的映射,名称为"dispatcher"
Sot*_*lis 11
Servlet容器具有映射和处理URI请求的规则.这些可以在Servlet规范中找到.同样重要的是要注意,大多数Servlet容器都有一个Servlet处理JSP的映射*.jsp,这是一个扩展映射.Tomcat有一个JspServlet这样做.
你把你的地图映射DispatcherServlet到了
<url-pattern>/*</url-pattern>
Run Code Online (Sandbox Code Playgroud)
这是一个路径映射.路径映射优先于扩展映射.所以当你提交你的观点名称时
return "index";
Run Code Online (Sandbox Code Playgroud)
春天会使用 ViewResolver
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
Run Code Online (Sandbox Code Playgroud)
解决了使用的路径RequestDispatcher的forward方法.那条道路将是/WEB-INF/views/index.jsp.现在,Servlet容器将接收该路径并尝试找到一个Servlet来处理它.由于您已Servlet映射到/*它将使用它,但您DispatcherServlet没有该路径的映射,因此以404响应.
简单的解决方案是将映射更改为/,如果未找到其他匹配项,则为默认处理程序.在这种情况下,当您提交视图并且容器必须找到映射时Servlet,它将找到JspServlet并使用它.
| 归档时间: |
|
| 查看次数: |
12712 次 |
| 最近记录: |