Java项目中访问WEB-INF下jsp页面的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
Java小项目中WEB-INF下jsp页面如何访问
一:一般为啥要把jsp页面放在WEB-INF呐?
这样主要是为了网站的安全的角度来说的,WEB-INF是安全目录Tomcat 默认的访问路径是WebRoot下的index.jsp,放在WEB-INF下的页面一般不配置是无法访问的。
你的站点肯定有些页面是需要经过登录验证或其他验证后才能访问的啊,这些页面就放在web-inf里。 如果是能不经过验证就访问的页面,比如主页、登录页、欢迎页这种,就不要放在web-inf里
二: 下面来看如何访问Web-INF下的页面?
在创建JavaWeb工程时有个web.xml的部署描述符,在下面有个这样可以定制首页的:做如下配置来看:
<welcome-file-list> <welcome-file>/WEB-INF/jsp/test.jsp</welcome-file> </welcome-file-list> </web-app>
一般的Web.xml中默认的<welcome-file>中的页面是WebRoot下的index.jsp的
工程目录如下:
便可以访问了:
在浏览器中输入如下地址
访问访问成功后的页面:
在SpringMVC的视图解析器中也是配置的WEB-INF下的页面;
最后追加的一句:使用如下的地址也是访问不到的:
http://localhost:8080/JSTLTest/WebRoot/WEB-INF/jsp/test.jsp
来看具体的案例:SSM整合实现用户登录的例子中对WEN-INF下的页面的访问实现:开发环境MyEclipse 2016 CI 7
1:
这个是基于Maven 下的SSM亏框架的整合:实现的功能是用户登录:
来看web.xml中的写法:
<welcome-file-list> <welcome-file>/WEB-INF/jsp/main.jsp</welcome-file> </welcome-file-list>
来看如何访问这个小Demo:
浏览器中的地址的写法:
http://localhost:8080/TestSSM/
这样就访问成功页面了,用Maven创建项目的时候使用web-app的项目名称上会多出Maven Webapp的访问的时候不用加的,只用你项目的名称即可;
下面来看WEB-INF下的JSP页面如何实现跳转的(用a标签实现跳转)
1:一般来说将JSP页面放在Webapp下就比较容易实现了,加项目的路径就可以了或者是添加<%=basePath>绝对路径就可以了;
2:这里使用SpringMVC的控制器实现:
首先是之前的定制首页中可以用控制器实现的:
首先新建一个Controller类
@Controller public class PageController { //打来首页,可以取代web.中定义首页的 //这个只是一个视图,模型数据可以在形参里面来表示的 //这里是访问的根路径 @RequestMapping(value="/",method=RequestMethod.GET) public String showLogin(){ System.out.println("进入页面控制器啦"); return "login"; } //页面跳转的控制器 @RequestMapping("/upload") public String showUpload(){ System.out.println("进入跳转页面控制器"); return "upload"; } }
这个就可以不用写的:
<welcome-file-list> <welcome-file>/WEB-INF/jsp/test.jsp</welcome-file> </welcome-file-list> </web-app>
这样部署项目启动服务器就可以访问了
http://localhost:8080/TestSSM 就可以访问了
来看跳转的:main.jsp位于WEB-INF下,upload.jsp位于WEB-INF下.
1: <!-- 配置跳转页面控制器 -->
<a href="upload" rel="external nofollow" >上传文件</a>
2: 页面控制器里面写
@RequestMapping("/upload")
public String showUpload(){
System.out.println("进入跳转页面控制器");
return "upload";
}
之前那个视图解析器是这样配置的.
<!--配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean>
感谢各位的阅读!看完上述内容,你们对Java项目中访问WEB-INF下jsp页面的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。