Spring MVC 能够直接访问jsp页面

时间:2022-12-23 17:10:10
为什么我的项目 可以直接访问任意一个jsp页面,我用的Spring MVC

15 个解决方案

#1


不知道楼主想表达什么,是想控制访问页面的时候的权限问题么? 那么写一个过滤器拦截一下咯

#2


引用 1 楼 wpq139234 的回复:
不知道楼主想表达什么,是想控制访问页面的时候的权限问题么? 那么写一个过滤器拦截一下咯

  就是我不想让它直接能够访问jsp页面

#3


缺少这个?
	<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

#4


引用 3 楼 sma11cat 的回复:
缺少这个?
	<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

不行  加进去报错 下面是我原来的web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Smart2</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring/*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Smart2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CharacterFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- <error-page>-->
<!-- <error-code>400</error-code>-->
<!-- <location>/jsp/error/checkdatabasepage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>401</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>403</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>404</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>500</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
</web-app>

#5


你 直接地址到jsp好了。不走后台处理。

#6


引用 5 楼 rui888 的回复:
你 直接地址到jsp好了。不走后台处理。


我的意思是:不让地址栏输入jsp路径就能访问

#7


把你的jsp页面放到web-inf下面并在spring的配置文件中加上这句话
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/jsp/" />  
        <property name="suffix" value=".jsp" />  
        <property name="contentType" value="text/html; charset=utf-8"/>
    </bean> 

#8


引用 2 楼 shiqiangwen 的回复:
Quote: 引用 1 楼 wpq139234 的回复:

不知道楼主想表达什么,是想控制访问页面的时候的权限问题么? 那么写一个过滤器拦截一下咯

  就是我不想让它直接能够访问jsp页面


看看这个说明
http://chinahnzhou.iteye.com/blog/1485379

#9


额~~  不能地址栏输入jsp页面就能进入的话,你将所有的jsp页面都放在WEB-INF目录下就好了,这是不能直接用.jsp来访问的    除非用.action跳转之后才能跳转到相应的页面!!  这样应该是可以解决楼主的问题

#10


恩,放到WEB-INF下面

#11


have a look...

#12


放在WEB-INF下就可以了。。

#13


jsp一般都是放在WEB-INF里面,为的就是防止直接访问

#14


放WEB-INF下面

#15


放到web-inf里的话是不是就是不能直接访问的?

#1


不知道楼主想表达什么,是想控制访问页面的时候的权限问题么? 那么写一个过滤器拦截一下咯

#2


引用 1 楼 wpq139234 的回复:
不知道楼主想表达什么,是想控制访问页面的时候的权限问题么? 那么写一个过滤器拦截一下咯

  就是我不想让它直接能够访问jsp页面

#3


缺少这个?
	<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

#4


引用 3 楼 sma11cat 的回复:
缺少这个?
	<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

不行  加进去报错 下面是我原来的web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Smart2</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring/*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Smart2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CharacterFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- <error-page>-->
<!-- <error-code>400</error-code>-->
<!-- <location>/jsp/error/checkdatabasepage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>401</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>403</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>404</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
<!-- <error-page>-->
<!-- <error-code>500</error-code>-->
<!-- <location>/jsp/error/errorpage.jsp</location>-->
<!-- </error-page>-->
</web-app>

#5


你 直接地址到jsp好了。不走后台处理。

#6


引用 5 楼 rui888 的回复:
你 直接地址到jsp好了。不走后台处理。


我的意思是:不让地址栏输入jsp路径就能访问

#7


把你的jsp页面放到web-inf下面并在spring的配置文件中加上这句话
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/jsp/" />  
        <property name="suffix" value=".jsp" />  
        <property name="contentType" value="text/html; charset=utf-8"/>
    </bean> 

#8


引用 2 楼 shiqiangwen 的回复:
Quote: 引用 1 楼 wpq139234 的回复:

不知道楼主想表达什么,是想控制访问页面的时候的权限问题么? 那么写一个过滤器拦截一下咯

  就是我不想让它直接能够访问jsp页面


看看这个说明
http://chinahnzhou.iteye.com/blog/1485379

#9


额~~  不能地址栏输入jsp页面就能进入的话,你将所有的jsp页面都放在WEB-INF目录下就好了,这是不能直接用.jsp来访问的    除非用.action跳转之后才能跳转到相应的页面!!  这样应该是可以解决楼主的问题

#10


恩,放到WEB-INF下面

#11


have a look...

#12


放在WEB-INF下就可以了。。

#13


jsp一般都是放在WEB-INF里面,为的就是防止直接访问

#14


放WEB-INF下面

#15


放到web-inf里的话是不是就是不能直接访问的?