这个问题困扰了我好几天,求大牛支持!!!谢谢
问题描述:前端可以通过地址访问到controller层,控制层不能返回jsp页面,也不报错
spring3mvc-servlet.xml配置如下
<!-- 添加注解驱动 -->
<mvc:annotation-driven />
<!-- 使Spring支持自动检测组件,如注解的Controller 这里只能扫描controller包如果扫描了service包 则事务会失效 -->
<context:component-scan base-package="china.home.daughter.*.*.controller*"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
web.xml配置
<!-- spring mvc 配置 -->
<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/classes/spring/spring3mvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
控制层代码:
@RequestMapping(value = "/login.html", method = RequestMethod.GET)
public String login(HttpServletRequest request, HttpServletResponse response, User user) {
User user2 = userService.getUserByUserNamePassword(user.getUsername(), user.getPassword());
if (null != user2) {
User user3 = new User();
user3.setUsername(CommonUtil.getUUID());
user3.setPassword("");
// 保存方法
userService.saveUser(user3);
// 更新用户
user2.setRealName("JeffreyJi");
userService.updateUser(user2);
// 获取user
logger.info(CommonUtil.isNull(userService.getUserById(user2.getId())) + "");
}
if (null != user2) {
logger.info(user2.toString());
request.getSession().setAttribute("user", user2);
} else {
}
logger.info("请求成功!");
return "main1/main1";///WEB-INF/jsp/ 下有文件夹main1 下面有 main1.jsp
}
------解决方案--------------------
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
这个不要配成*.html,改为/
------解决方案--------------------
spring-servlet.xml 里加上
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>
viewResolver bean 改为试试
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
------解决方案--------------------
特意试了你的配置,你提供的配置是没问题的,如果还是找不到页面的话,还是检查一下你配置文件的路径,jsp文件的路径是否正确
------解决方案--------------------
把/WEB-INF/jsp
换成
/WEB-INF/page吧
我的程序,不记得是升级了spring还是升级了tomcat之后,前一个路径就死活用不了了……