天天看点

配置跳转html jsp页面跳转页面,web项目访问jsp的方式及页面间的跳转

今天借鉴各位大佬的经验,加以自己的理解

小小写一个WEB开发的心得

在做的涉及到前端的项目时,有很多的jsp页面,在刚开始做项目的时候,只会机械的学别人的配置,或是web.xml中的配置,或是SSH中struts里面配页面之间的跳转路径等等,但是反过头来,真正要在刚建web项目时,访问其下jsp,或是实现页面间跳转的时候就会发现经常跳转报错,无论我是用相对路径还是绝对路径都报错,这就搞的我很郁闷了,这究竟是为什么呢?

原来这是JSP的安全性作的鬼。

在J2EE中其主要安全性就体现在web工作目录的WEB-INF文件夹下。

一般为啥要把jsp页面放在WEB-INF呐?这样主要是为了网站的安全的角度来说的,WEB-INF是安全目录Tomcat 默认的访问路径是WebRoot下的index.jsp[体现在下图,它是按顺序匹配的],放在WEB-INF下的页面一般不配置是无法访问的。

配置跳转html jsp页面跳转页面,web项目访问jsp的方式及页面间的跳转

因此如果将一个页面放在WEB-INF文件夹下,那么该页面的安全性将得到提高...

但有时候当我们需要访问该页面时,却无法访问,那么如何能够访问WEB-INF文件夹下的页面呢?

此为项目目录:

配置跳转html jsp页面跳转页面,web项目访问jsp的方式及页面间的跳转

可以直接将想要访问的jsp写在WebContent下,以项目名为url进行访问

或者在web.xml中做一下配置

/WEB-INF/one.jsp

接下来以标签讲解一下jsp之间的跳转,重点是要跳转到WEB-INF下的jsp

通常这个时候我们会试下相对地址/b.jsp、绝对地址/WEB-INF/b.jsp以及${pageContext.request.contextPath}/WEB-INF/b.jsp,但无论怎么搞都不行,这个时候就比较崩溃。

但是还是可以通过servlet来完成任务了。

首先在web.xml里面配置servlet和servlet mapping

goto

/WEB-INF/jsp/test.jsp--要跳转到的页面

goto

/test

配置好了之后在jsp页面里用a就可以跳转了测试页面跳转

这里一定要“/工程名/test”

通过servlet跳转还是比较麻烦了,但是这样能保证JSP页面的安全性,想两全其美是比较难的了。

当然如果安全要求不高,那就可以做成很简单的了,直接把所有的jsp页面全部放在webRoot底下,在WebRoot下页面用户可以直接输入地址访问。