服务器的跳转
作为一名程序员出现bug不可怕,但是要学会怎样解决bug才是最难的!
在初学面向服务器编程时,我们要不停地去处理业务逻辑和数据交互,以及页面跳转等问题。但是当我们去测试我们的结果时总是会报404资源不存在等错误,那么为什么会出现这一些问题呢?
- 1、你的访问路径有错。
- 2、你的资源文件放在了某个不能访问的目录下。
- 3、你的项目中确实没有你要访问的资源。
首先我们要了解路径的概念
-
绝对路径:全路径,以 "/" 开头
对于web应用的前端:代表你的服务器根目录,如tomacat,"/"表示你的webapps/
对于web应用的后台:代表你的项目根目录----"/"表示"/webContent/"
相对路径:相对点,没有"/"开头,相对于当前文件或者类所在的命名空间。
跳转种类
-
内部跳转:
1)游览器的地址不会改变
2)可以携带数据的
3)只能访问web应用内部的Servlet里面的数据
4)只进行一次申请,request只有一个*实现方式:* >1.获取分发器 > > request.getRequestDispatch(path) >2.进行跳转 > >a: `forward(request, response);` > >b:`include(request, response);` > >forward跳转时,清空前一个Servlet的response里面的数据。 >include跳转时:保留前一个Servlet的response里面的数据
-
外部跳转:
1)地址栏发生了改变
2)没拿到request传递的数据
3)它是访问外部资源的
4)进行两次请求实现方式:
response.sendRedirect(url);
同时称作为重定向跳转,所以可以跳转到其他的网页,如百度,新浪等网站都可以。
资源不能访问?
对于资源不能访问的问题:如果你的资源文件放在了WebContent/WEB-INF目录下,你是不够直接去访问到它的,因为WEB-INF目录是一个wen应用项目的安全目录,对于用户是不开放访问的。如果想访问到WEB-INF下目录下的文件一定要通过项目其他文件的内部跳转去访问WEB-INF下目录的资源。而外部跳转是访问不到WEB-INF下的资源的。
看完这些服务器的知识是不是觉得妈妈再也不用担心我们的服务器跳转了?