深究jsp页面不能显示本地图片
有点想不明白在一个项目中为什么jsp上面不能显示本地的图片比如:D:\\123.jsp。只能显示相对路径里面的图片(最终在浏览器上面还是localhost:8080/ss...
有点想不明白在一个项目中为什么jsp上面不能显示本地的图片比如:D:\\123.jsp。只能显示相对路径里面的图片(最终在浏览器上面还是localhost:8080/ssss/xxx.jpg),或者是外链的图片。为什么在项目里面的jsp上面没法直接调用D:\\123.jpg ,为什么单个的html文件可以加载本地的图片呢?如果说是安全机制的问题,只能访问服务器根目录下面的东西,那上传文件怎么解释?仔细思考过这个问题的来回答。
展开
1个回答
展开全部
jsp能访问到哪是有容器(tomcat或者weblogic等)控制的。应用服务不允许你访问本的的其他目录自然是访问不了(即使能访问也不会是“D:\\123.jpg”这种形式,jsp会先被转换成servlet(这个可以找本jsp的基础教程看看)提供服务,当页面访问jsp时实际上是jsp 所对应的servlet发送给浏览器的的html代码,而原jsp页面中的html是不会进行处理的,而直接发送给浏览器(客户端),你的链接中所说的“D:\\123.jpg”对应的是服务器上的“D:\\123.jpg”,而不是客户机器上的“D:\\123.jpg”。客户端上有没有“D:\\123.jpg”都还不一定呢,所以肯定不会显示。html是你本地的浏览器解析的,所以“D:\\123.jpg”只会去本地机器上找,而不回去服务器上找)。不知道这样说你名不明白了。 至于上传文件,接受文件的servlet是在服务器上运行的,所以可以找到服务器上的“D:\\***.***”,而且你肯定是在servlet中新建了io流,把上传过来的文件存到指定的地方,流是你自己定义的,已经超出了容器的控制,所以不存在权限的问题,即使有权限问题也不是容器限制你的,而是操作系统本身。
祝你学习顺利
祝你学习顺利
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询