当前位置: 首页 > 工具软件 > Web-Return > 使用案例 >

WEB-INF中的jsp跳转方法(一种实现)

商骞仕
2023-12-01

知识点:

1.项目为了相对安全,外界不能直接访问我的页面,所以将jsp放入WEB-INF文件加下,这样必须通过servlet跳转进行访问。配置controller实现跳转。


详细:


方法一:

1.本例是在 springMVC + spring +mybatis下实例。


2.添加跳转的controller,进行跳转(包含一级jsp和二级jsp跳转,如果有更多层级,仿照例二添加)

层级表示   在WEB-INF/login.jspWEB-INF/user/login.jsp

package top.lushunde.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
/**
 * @package: top.lushunde.controller 
 * @Title: PageController 
 * @Description: WEB-INF中的jsp跳转
 * @Company: 个人测试
 * @author MrLu
 * @date 2016-11-14 下午12:13:00
 */
@RequestMapping("page")
@Controller
public class PageController {

	/**
	 * @Title: toPage 
	 * @Description: 二级页面跳转,例如 WEB-INF/user/login.jsp
	 * @param: @param pageName1	 例如 user
	 * @param: @param pageName2	例如 login
	 * @param: @return    
	 * @return: ModelAndView   user/login
	 * @throws 
	 * @author MrLu
	 * @Date 2016-11-14 下午12:08:18
	 */
    @RequestMapping(value = "{pageName1}/{pageName2}", method = RequestMethod.GET)
    public ModelAndView toPage(@PathVariable("pageName1") String pageName1,@PathVariable("pageName2") String pageName2) {
    	ModelAndView mv = new ModelAndView(pageName1+"/"+pageName2);
    	return mv;
    }
	
	
    /**
	 * @Title: toPage 
	 * @Description: 一级页面跳转,例如 WEB-INF/logout.jsp
	 * @param: @param pageName1	 例如 logout
	 * @param: @return    
	 * @return: ModelAndView   login
	 * @throws 
	 * @author MrLu
	 * @Date 2016-11-14 下午12:08:18
	 */
    @RequestMapping(value = "{pageName1}", method = RequestMethod.GET)
    public ModelAndView toPage(@PathVariable("pageName1") String pageName1) {
        ModelAndView mv = new ModelAndView(pageName1);
        return mv;
    }
    

}

2.修改springMVC配置文件的页面跳转配置,添加上 WEB-INF 前缀

	<!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
	<bean id="viewResolver"	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>

3.在html或者jsp中请求WEB-inf下的jsp使用

<a href="/lushunde/page/user/login">登陆</a>
	/lushunde  项目名  可以省略,采用相对路径访问,可以使用jsp的内置对象
	/page	controller第一的访问路径
	/user/login	二级域名访问路径


4.返回的页面文件地址     WEB-INF/jsp/user/login.jsp


 类似资料: