关于转发、重定向、表单提交、超链接跳转路径分析
来源:互联网 发布:沃尔玛数据流程图 编辑:程序博客网 时间:2024/06/07 02:38
以下来自一个初学JAVA2个月的菜鸟个人见解,求大神指点
一切参考这4点为基准
一: 首先必须明确,这里的目录路径关系,都是基于Tomcat目录下的,跟工作区的文件目录毫无关系
二:相对路径与绝对路径的准确定位
必须弄清相对的是哪一个路径!
相对的是原请求的地址
比如说原求请求地址为http://127.0.0.1:8080/WEB02/TS/index.html
相对的就是 http://127.0.0.1:8080/WEB02/TS/
必须弄清哪个是绝对路径!
绝对地址:web服务器本身地址http://localhost:8080
三:区分哪种形式代表相对路径,哪种代表绝对路径
区分 绝对路径 与 相对路径(是否以“/”开头)
四:servlet类默认直接位于项目目录第一级下
------------------------------------------------------------------------------------------
1. 表单提交与超链接跳转
一:交由servlet处理
相对路径: <form action="../Res2">
绝对路径: <form action="/WEB02/Res2">
注意:Res2必须是url-pattern中定义的映射值,不是类名
若相对地址是该项目目录时,action="Res2"
这里绝对不能加斜杠
二:交由jsp/html文件处理
相对路径: <form action="test.html">
<form action="../hello.html">
绝对路径: <form action="/WEB02/TS/test.html">
<form action="/WEB02/hello.html">
超链接的机制与此是相同的(已验证)
------------------------------------------------------------------------------------------
2. 请求转发与重定向
参考第四点以及第二点,所以对于servlet的转发和重定向的相对的路径 都是
http://localhost:8080/项目名
重定向:
参数可以指定为相对路径或绝对路径或web应用程序(跨资源)。
①相对路径:response.sendRedirect("Manager/index.jsp")
生成的地址:相对的路径+参数 生成完整的URL即:
http://localhost:8080/项目名/Manager/index.jsp
②绝对路径:response.sendRedirect("/Manager/index.jsp")
生成的地址:web服务器本身地址+参数生成完整的URL 即:
http://localhost:8080/Manager/index.jsp
③其他web应用地址(跨资源)
response.sendRedirect("http://127.0.0.1:8080/WEB01/MyFirstServlet");
该response属于WEB02中,可以实现跨项目
response.sendRedirect("http://www.baidu.com")
容器直接定向到该URL。
转发:
参数可以指定为相对路径或绝对路径。
①相对路径
相对路径情况下生成的完整URL与重定向方法相同。
②绝对路径
绝对路径与重定向不同,容器将相对于Web应用的根目录加参数生成完整的URL
生成的地址: 原来请求地址+参数生成完整的URL 即:
http://localhost:8080/项目名/Manager/index.jsp
转发用相对路径和绝对路径地址都一样。
ServletContext.getRequestDispatcher(UrlString)
参数只能指定为绝对路径,生成的完整URL与
HttpServletRequest.getRequestDispatcher(String)相同。
---------------------------------------------------------------------------------------
3. ServletContext
getRealPath(String path)
getResource(String path)
这两个方法都不存在相对路径与绝对路径的概念
方法的参数,规定了必须是相对路径,无所谓参数是否以“/”开头,默认将其当做相对路径来处理,并且指定了具体相对于哪个路径,参考笔记servlet体系详解-->上下文
代码解释
String realPath = this.getServletContext().getRealPath("/WEB02/hello.html");
System.out.println(realPath);
输出结果 E:\Tomcat-7\apache-tomcat-7.0.52\webapps\WEB02\WEB02\hello.html
所以,加不加“/”都是一样的。
------------------------------------------------------------------------------------------
阅读全文
0 0
- 关于转发、重定向、表单提交、超链接跳转路径分析
- 路径问题--转发、重定向、表单、超链接
- Servlet--超链接,表单提交,重定向,转发4种情况的路径
- J2EE学习笔记(三)之重定向、转发、超链接及表单提交的区别和路径
- Servlet--表单、超链接、转发、重定向4种情况的路径
- JavaEE------超链接、重定向、转发
- 转发重定向路径问题
- 关于转发 和 重定向路径的不同的注意
- 关于转发与重定向路径的问题
- 在重定向,转发中关于路径问题的总结
- 关于转发重定向问题
- 关于转发与重定向
- 页面跳转(转发、重定向)
- 网页跳转:重定向与转发
- servlet获取表单提交的数据、请求转发、请求包含、请求重定向
- request,路径问题,转发和重定向
- 重定向和转发中的路径问题
- request,路径问题,转发和重定向
- 数据列表初始化下拉框及下拉树
- js 将json字符串转换为json对象的方法解析
- python增强的格式化字符串format函数
- 接口中的属性
- Pytorch是什么?关于Pytorch
- 关于转发、重定向、表单提交、超链接跳转路径分析
- idea常用技巧收集
- 常见的网络协议
- Spring MVC前奏
- UNP第十六章 非阻塞式I/O
- A
- 动态规划经典题讲解
- CAD编辑指南1:CAD图纸的批量打印和批量修改文字
- POJ