springMVC 浏览器直接显示jsp源码。求解? 本帖最后由 shanxiuwei 于 2013-10-09 17:08:58 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 user是怎么来的?model.addObject("hello_s", userService.listPageUser(user));显示变量是hello_s,你的jsp为什么是hello? 看错了……==……如果@RequestMapping(value = "/getUser/id/{userID}")这个页面没问题的话,你是不是把hello_s改成其他的变量名,不要和页面的命名相同? user是怎么来的?model.addObject("hello_s", userService.listPageUser(user));显示变量是hello_s,你的jsp为什么是hello?@RequestMapping(value = "/user")这个是类级别注解。hello只是个jsp的名字而已。解析器也是配置好的。 其实直接访问http://192.168.0.220:8080/MyBatisAndSpring/index.jsp也是显示jsp源码的。所以才感觉奇怪 你使用的是tomcat的么? 是的话,可以参考http://hi.baidu.com/sim_na/item/3a5155cd6fc6c124e80f2e71 或者是你使用了apache, 最后是apache来解析jsp了,你开启下浏览器的控制台(F12),把响应的header发一下 或者是你使用了apache, 最后是apache来解析jsp了,你开启下浏览器的控制台(F12),把响应的header发一下响应头信息原始头信息Date Wed, 09 Oct 2013 09:41:55 GMTServer Apache-Coyote/1.1请求头信息原始头信息Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding gzip, deflateAccept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Cache-Control max-age=0Connection keep-aliveHost 192.168.0.220:8080If-Modified-Since Mon, 23 Sep 2013 02:14:55 GMTIf-None-Match W/"1004-1379902495703"User-Agent Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0来自缓存的响应头信息Content-Length 1004Date Wed, 09 Oct 2013 09:41:55 GMTEtag W/"1004-1379902495703"Last-Modified Mon, 23 Sep 2013 02:14:55 GMTServer Apache-Coyote/1.1 Server Apache-Coyote/1.1你的代码有部署到tomcat么? 是的,部署在myeclipse的默认tomcat下 是的,部署在myeclipse的默认tomcat下但是响应头中看到的信息是apache返回的,可能是apache和tomcat整合有问题,也可能是apache中也部署了代码建议你直接访问tomcat,不走apache试试 是的,部署在myeclipse的默认tomcat下但是响应头中看到的信息是apache返回的,可能是apache和tomcat整合有问题,也可能是apache中也部署了代码建议你直接访问tomcat,不走apache试试问题已经解决:当springMVC配置<!-- 静态资源--> <mvc:default-servlet-handler/> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>并且将web.xml中的springMVC拦截配置为<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>在这种情况向springMVC会把*.jsp,*.sql,*.txt都当做txt处理。结果就是直接在浏览器加载了jsp源码。谢谢各位帮助! 测试了下,这样配置是可行的。版本是spring最新的4web.xml <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>view-resolver.xml<!-- 配置内容协商视图解析 --> <bean id="contentNegotiatingViewResolver" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <!-- medieTypes --> <property name="mediaTypes"> <props> <prop key="json">application/json</prop> </props> </property> <!-- 设置默认视图 --> <property name="defaultViews"> <list> <ref bean="mappingJacksonJsonView" /> </list> </property> </bean> <!-- 默认jsp视图 --> <bean id="defalutViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> <!-- JSON视图 --> <bean id="mappingJacksonJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"></bean>dispatcher.xml<!-- 开启注解驱动 --> <!-- 这样可以使用@Controller这些注解 --> <mvc:annotation-driven /> <!-- 开启默认处理 --> <!-- 这样静态资源就可以访问了--> <mvc:default-servlet-handler /> <context:component-scan base-package="qa.controller"></context:component-scan> <!-- 导入hibernate配置 <import resource="hibernate-beans.xml" /> --> <!-- 导入视图解析配置 --> <import resource="view-resolve.xml" />终于可以碎觉了。搞定 <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>将上面的改为下面的即可 拦截是/ 而不是/*<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> jsp热点问题 监听用户是否已登录的代码,jsp 马上毕业答辩了,还有一个小问题!高手帮帮忙 最近公司比较闲,求兼职,不收钱!!!!!!!!!!!!!!!! String 与 date 类型之间如何转换?(在线急等!!!!!!!) 请问这是一个什么问题?该如何解决? 谁有tomcat5.0? 小程序,统计在线人数,帮忙看看哪里错了 我想调查一下Tomcat 4.x运行关键应用的稳定性,希望大家多多支持! 请大虾介绍一下目前比较流行的jsp服务器 war部署到Tomee中启动报错如何解决? web项目在Tomcat启动后,第一次点击报错,之后不报错,但是都没有结果
@RequestMapping(value = "/user")这个是类级别注解。hello只是个jsp的名字而已。解析器也是配置好的。
也是显示jsp源码的。所以才感觉奇怪
或者是你使用了apache, 最后是apache来解析jsp了,你开启下浏览器的控制台(F12),把响应的header发一下
或者是你使用了apache, 最后是apache来解析jsp了,你开启下浏览器的控制台(F12),把响应的header发一下
响应头信息原始头信息
Date Wed, 09 Oct 2013 09:41:55 GMT
Server Apache-Coyote/1.1
请求头信息原始头信息
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Cache-Control max-age=0
Connection keep-alive
Host 192.168.0.220:8080
If-Modified-Since Mon, 23 Sep 2013 02:14:55 GMT
If-None-Match W/"1004-1379902495703"
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0
来自缓存的响应头信息
Content-Length 1004
Date Wed, 09 Oct 2013 09:41:55 GMT
Etag W/"1004-1379902495703"
Last-Modified Mon, 23 Sep 2013 02:14:55 GMT
Server Apache-Coyote/1.1
建议你直接访问tomcat,不走apache试试
建议你直接访问tomcat,不走apache试试
问题已经解决:
当springMVC配置<!-- 静态资源-->
<mvc:default-servlet-handler/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>并且将web.xml中的springMVC拦截配置为<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
在这种情况向springMVC会把*.jsp,*.sql,*.txt都当做txt处理。结果就是直接在浏览器加载了jsp源码。谢谢各位帮助!
测试了下,这样配置是可行的。版本是spring最新的4
web.xml
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
view-resolver.xml
<!-- 配置内容协商视图解析 -->
<bean id="contentNegotiatingViewResolver"
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<!-- medieTypes -->
<property name="mediaTypes">
<props>
<prop key="json">application/json</prop>
</props>
</property>
<!-- 设置默认视图 -->
<property name="defaultViews">
<list>
<ref bean="mappingJacksonJsonView" />
</list>
</property>
</bean> <!-- 默认jsp视图 -->
<bean id="defalutViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean> <!-- JSON视图 -->
<bean id="mappingJacksonJsonView"
class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"></bean>dispatcher.xml<!-- 开启注解驱动 -->
<!-- 这样可以使用@Controller这些注解 -->
<mvc:annotation-driven />
<!-- 开启默认处理 -->
<!-- 这样静态资源就可以访问了-->
<mvc:default-servlet-handler /> <context:component-scan base-package="qa.controller"></context:component-scan> <!-- 导入hibernate配置 <import resource="hibernate-beans.xml" /> -->
<!-- 导入视图解析配置 -->
<import resource="view-resolve.xml" />
终于可以碎觉了。搞定
<servlet-name>springMVC</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>将上面的改为下面的即可 拦截是/ 而不是/*
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>