创建一个企业网站流程的步骤,叶茂中品牌策划公司,更换网站ico,唐山哪个公司可以制作网站文章目录 1.资源定位1.前置条件上下文路径设置 2.上下文路径介绍重点说明 3.资源定位方式资源路径 上下文路径 资源位置a.html定位C.java定位 4.浏览器和服务器解析的区别1.浏览器解析/#xff08;地址变化#xff09;2.服务器解析/#xff08;地址不变#xff09; 5.带/… 文章目录 1.资源定位1.前置条件上下文路径设置 2.上下文路径介绍重点说明 3.资源定位方式资源路径 上下文路径 资源位置a.html定位C.java定位 4.浏览器和服务器解析的区别1.浏览器解析/地址变化2.服务器解析/地址不变 5.带/与不带/的区别1.带/指的是路径2.不带/指的是资源 6.相对路径直接找到servlet1.servlet位置2.login.html位置3.定位方式 2.浏览器默认相对路径1.基本介绍2.问题说明 3.base标签更改浏览器默认相对路径1.基本介绍2.代码演示 4.服务端请求转发定位资源1.基本介绍2.代码演示1.a.html(最初界面)2.C.java(中转界面 )3.b.html(最终界面)4.结果展示 3.小细节转发时不带斜杠服务器默认也是按照前面是上下文路径拼接 5.课后练习基本环境第三题1.使用相对路径2.使用浏览器默认相对路径3.使用base标签更改浏览器默认相对路径4.使用绝对路径 第四题1.使用相对路径2.使用绝对路径 第五题1.使用相对路径2.使用base标签更改浏览器默认相对路径3.使用绝对路径 6.小结1.匹配路径方法重点1.上下文路径 资源路径2.重定向到某个url如果含有中文需要手动进行url编码 2.注意事项和细节说明1.Web工程的相对路径和绝对路径 3.斜杠的解析1.带斜杠与不带斜杠2.获取真实路径和上下文路径3.这个目录才是真正执行的文件4.重定向的斜杠5.重定向课后练习1.相对路径2.绝对路径推荐3.动态获取上下文路径拼接强烈推荐 6.老韩小结7.base路径优化jsp动态获取上下文路径 1.资源定位
1.前置条件
上下文路径设置 2.上下文路径介绍 重点说明
他们两个是互通的意思就是假如C类想要定位a.html就可以使用相对路径../d1/d2/a.html这里的../虽然得到的是java目录下的资源但是我说过了他跟webapp是互通的都称之为上下文路径
3.资源定位方式
资源路径 上下文路径 资源位置
a.html定位
(http://localhost:8080/webpath/) ( d1/d2/a.html)
C.java定位
(http://localhost:8080/webpath/) ( c/C) 假设web.xml里面配置的路径是/c/C
4.浏览器和服务器解析的区别
1.浏览器解析/地址变化
http://localhost:8080/ 比如超链接表单提交重定向
2.服务器解析/地址不变
http://localhost:8080/webpath/ 比如请求转发配置servlet路径获取真实路径获取上下文路径
5.带/与不带/的区别
1.带/指的是路径
2.不带/指的是资源
6.相对路径直接找到servlet
1.servlet位置 2.login.html位置 3.定位方式
可以看到这个servlet的地址就是上下文路径加资源在这个表单中使用./可以得到webapp的位置这个其实就是上下文路径再加上servlet的资源路径即可action./c/C
2.浏览器默认相对路径
1.基本介绍 2.问题说明 3.base标签更改浏览器默认相对路径
1.基本介绍 2.代码演示
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
!-- 这个解析的就是http://localhost:8080/webpath/ --base href/webpath/
/head
body
form actionb.htmlinput typesubmit value跳转
/form
/body
/html4.服务端请求转发定位资源
1.基本介绍
请求转发解析的/是上下文路径请求转发将请求和响应都转发到了那个界面所以响应给浏览器的也是那个界面开发中一般都是使用转发或重定向到那个界面
2.代码演示
1.a.html(最初界面)
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
!-- 这个解析的就是http://localhost:8080/webpath/ --base href/webpath/
/head
body
form actionc/C methodgetinput typesubmit value跳转
/form
/body
/html2.C.java(中转界面 )
package c;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** author 孙显圣* version 1.0*/
WebServlet(urlPatterns /c/C) //此时解析的就是http://localhost:8080/webpath/c/C
public class C extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//请求转发到b.htmlreq.getRequestDispatcher(/b.html).forward(req,resp);//这里解析的是http://localhost:8080/webpath/b.html}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}
}
3.b.html(最终界面)
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
我是b.html
/body
/html4.结果展示 3.小细节
转发时不带斜杠服务器默认也是按照前面是上下文路径拼接 5.课后练习 基本环境 第三题
1.使用相对路径
action“./views/user/user.html”
2.使用浏览器默认相对路径
action“views/user/user.html”
3.使用base标签更改浏览器默认相对路径 action“views/user/user.html”
4.使用绝对路径
action“/webpath/views/user/user.html”
第四题
1.使用相对路径
…/views/user/user.html
这里的…/就直接是java目录下的了也就是到了上下文路径
2.使用绝对路径
/views/user/user.html
第五题
1.使用相对路径
href“…/…/login.html”
2.使用base标签更改浏览器默认相对路径 href“login.html”
3.使用绝对路径
href“/webpath/login.html”
6.小结
1.匹配路径方法重点
1.上下文路径 资源路径
一共四种情况 相对./ …/之类的浏览器/服务器默认相对浏览器有默认相对路径服务器虽然也有但是不建议使用修改默认相对浏览器可以通过base修改默认相对路径绝对使用/开头浏览器/服务器 无论使用绝对路径还是相对路径都要先找到上下文路径上下文路径对于相对路径来说就是找到**webapp/或java/**这两个都是一样的上下文路径对于绝对路径来说注意浏览器解析还是服务器解析的/是不同的然后再匹配资源路径
2.重定向到某个url如果含有中文需要手动进行url编码 2.注意事项和细节说明
1.Web工程的相对路径和绝对路径 3.斜杠的解析 1.带斜杠与不带斜杠 2.获取真实路径和上下文路径
package c;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** author 孙显圣* version 1.0*/
WebServlet(urlPatterns /c/C) //此时解析的就是http://localhost:8080/webpath/c/C
public class C extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//这里获取的是http://localhost:8080/webpath/String realPath super.getServletContext().getRealPath(/);String contextPath super.getServletContext().getContextPath();System.out.println(realPath);System.out.println(contextPath);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}
} 3.这个目录才是真正执行的文件 4.重定向的斜杠 5.重定向课后练习 1.相对路径
resp.sendRedirect(“…/views/user/user.html”);
2.绝对路径推荐
resp.sendRedirect(“/webpath/views/user/user.html”);
3.动态获取上下文路径拼接强烈推荐
String contextPath super.getServletContext().getContextPath(); resp.sendRedirect(contextPath “/views/user/user.html”);
6.老韩小结 7.base路径优化
jsp动态获取上下文路径