java:maven中webapp下的jsp不能访问web-inf下面的bean
java:maven中webapp下的jsp不能访问web-inf下面的bean
当然 WEB-INF下面的文件是不能访问的,只能吧jsp文件放入到WEB-INF下面,然后通过配置WEB-INF下web.xml进行配置。

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">上传文件</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>
http://blog.csdn.net/hcjsjqjssm/article/details/61615520
java:maven中webapp下的jsp不能访问web-inf下面的bean的更多相关文章
- maven中解决javax.servlet.jsp.PageContext cannot be resolved to a type
在eclipse环境下用maven出现:javax.servlet.jsp.PageContext cannot be resolved to a type. 这是由于没有引入jsp-api引发的问题 ...
- 关于jsp web项目,jsp页面与servlet数据不同步的解决办法(报错404、405等)即访问.jsp和访问web.xml中注册的/servlet/的区别
报错信息: Type Status Report Message HTTP method GET is not supported by this URL Description The method ...
- JVM虚拟机-了解Java堆中对象分配、布局和访问的全过程
目录 前言 对象的创建 类加载检查 分配内存 内存空间分配方式 指针碰撞 空闲列表 并发时的内存分配 同步处理:CAS 本地线程分配缓冲:TLAB 初始化零值 设置对象头 执行 init 方法 对象的 ...
- Maven新建webapp项目index.jsp报错
最近用eclipse新建了一个maven项目,结果刚新建完成index.jsp页面就报错了,先把错误信息贴出来看看 后来就找资料,结果发现两种解决办法,希望可以帮助用得上的人! 第一种:直接在pom. ...
- maven中添加servlet、jsp依赖
或者在eclipse中,右键项目名称->Maven->Add Dependency->输入servlet,会自动找到最新的版本(记得联网哦),如图:
- Java项目中,如何限制每个用户访问接口的次数
转自:https://blog.csdn.net/qq_30947533/article/details/78844709 方法1:数据访问量大的话 用redis来做,用户在调用短信接口时,先根据用户 ...
- IDEA、maven创建webapp项目
maven官方入门指南:http://maven.apache.org/guides/getting-started/index.html 推荐跟着官方文档学习噢~ IDEA.maven创建w ...
- Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
今天重装系统,安装了新的Myeclipse后,导入之前的项目后,,出现了乱码问题.乱码问题主要是java类中的注释,而jsp页面中汉字却完好如初: 右键项目,查看项目的编码格式,UTF-8,把java ...
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url ...
随机推荐
- oracle查看表占用磁盘空间
SELECT T.OWNER, T.SEGMENT_NAME, SUM(T.BYTES) / 1024 / 1024 M FROM DBA_SEGMENTS T WHERE T.OWNER = 'u ...
- Frogger - poj 2253 (Dijkstra)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28802 Accepted: 9353 Description Fr ...
- js中return;return true return false 的区别
return 定义: return 语句会 终止函数的执行 并 返回函数的值. 注意这两个: 1.终止函数的执行 2.返回函数的值 返回函数的值这里就不过多叙述了,就是 return 变量 先看下面的 ...
- iOS 蓝牙功能 bluetooth
现将创建蓝牙工程的要点总结一下,由于工程主要涉及中心模式,所以只总结中心模式的用法 1,引入CoreBluetooth.framework 2,实现蓝牙协议,如: .h文件如下 @protocol C ...
- GET,POST
HTTPHTTP(即超文本传输协议)是现代网络中最常见和常用的协议之一,设计它的目的是保证客户机和服务器之间的通信.HTTP 的工作方式是客户端与服务器之间的 “请求-响应” 协议.客户端可以是 We ...
- 我的Android进阶之旅------>FastJson的简介
在最近的工作中,在客户端和服务器通信中,需要采用JSON的方式进行数据传输.简单的参数可以通过手动拼接JSON字符串,但如果请求的参数过多,采用手动拼接JSON字符串,出错率就非常大了.并且工作效率也 ...
- Java语言实现简单FTP软件------>连接管理模块的实现:主机与服务器之间的连接与关闭操作(八)
(1)FTP连接 运行FTP客户端后,首先是连接FTP服务器,需要输入FTP服务器的IP地址及用户名.密码以及端口号后点击连接按钮开始连接FTP服务器,连接流程图如下图所示. 点击"连接&q ...
- liferay 指定默认首页
1.登录liferay后,点击控制面板-->设置--> portal设置 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3hpbmdf ...
- 深入理解ByteBuffer(转)
转:http://blog.csdn.net/workformywork/article/details/26699345?utm_source=tuicool&utm_medium=refe ...
- 找出旋转有序数列的中间值python实现
题目给出一个有序数列随机旋转之后的数列,如原有序数列为:[0,1,2,4,5,6,7] ,旋转之后为[4,5,6,7,0,1,2].假定数列中无重复元素,且数列长度为奇数.求出旋转数列的中间值.如数列 ...