spring mvc 问题

比计划多一点 发布于 2013/06/25 12:53
阅读 569
收藏 0
这是我随便定义的一个控制器,主要用来测试spring+springmvc +hibernate 是否整合成功
@Controller
public class RegisterController {
    private static final Logger logger = Logger.getLogger(RegisterController.class);

    @RequestMapping("/show")
    public String text(){
        
        System.out.println("fsdfsdfds");
        return "view/background/register";
    }

}


spring-mvc.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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="http://www.springframework.org/schema/beans   
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
           http://www.springframework.org/schema/context   
           http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
       <!-- 我们这里要有一个读取注解的标签 -->
       <context:component-scan base-package="cn.hngy.controller"/>
       <bean id="vr" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView"/>
    <!--    拦截前缀-->
        <property name="prefix" value="/" />
     
       <!--  拦截后缀 -->
       <property name="suffix" value=".jsp"/>
     </bean>
     

</beans>

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">
    
    <servlet>
     <servlet-name>mvc</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      
     <init-param>       
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
       <servlet-name>mvc</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>

</web-app>

 我的问题是:通过spring mvc 那个用注解写的控制器类方法能运行,但是返回的视图不管怎么改都是调到初始的那个index.jsp





加载中
0
南湖船老大
南湖船老大

正常来说,

访问地址是 localhost/show.do

返回视图地址是 /view/background/register.jsp

看你配置没看出啥问题啊

0
独孤小败
独孤小败
因为你的拦截器只拦截的*.do 的请求。但是你的 RequestMapping里面只能/show. 你把它改成/show.do. 或者把web.xml 里面改成 <url-pattern>/*</url-pattern>
0
kidbei
kidbei
赞同楼上,不过应该是改成/而不是/*,如果改成/*需要你在mvc的配置文件里面配上resource节点来处理静态文件。。。配置了/*的话web.xml中的default-mapping不会生效的。
0
Lukerr
Lukerr
楼上正解,我最近也在用springMVC做一个项目
0
LucEsape
LucEsape
<!-- 拦截后缀是.do的请求 -->
<url-pattern>*.do</url-pattern>
<!-- 拦截所有请求 -->
<url-pattern>/*</url-pattern>
你的RequestMapping中的请求是没有包含在*.do中。
0
panmingguang
panmingguang
答案请看楼上, 靠, 搞得我是水军
返回顶部
顶部