javaWeb项目中的路径格式 请求url地址 客户端路…
2018-08-07 08:49:20来源:博客园 阅读 ()
javaweb项目中有很多场景的路径
客户端的POST/GET请求,服务器的请求转发,资源获取需要设置路径等
这些路径表达的含义都有不同,所以想要更好的书写规范有用的路径代码 需要对路径有一个清晰地认知
路径基本上分三类
- 客户端路径
- 服务端路径
- 其他
路径相关的操作类型
- 超链接
- 表单
- 重定向
- 转发
- 包含
- <url-pattern>
- ServletContext获取资源
- Class获取资源
- ClassLoader获取资源
客户端路径
- 绝对路径;
- 以“/”开头的相对路径;
- 不以“/”开头的相对路径;
超链接/表单
绝对路径: <a href="http://127.0.0.1:8080/servlet/ServletA">链接1</a> 以“/”开头的相对路径: <a href="/servlet/ServletB">链接2</a> 相对路径: <a href="ServletB">链接3</a> <hr /> 绝对路径: <form action="http://127.0.0.1:8080/servlet/ServletA"> <input type="submit" value="表单1" /> </form> 以“/”开头的相对路径: <form action="/servlet/ServletB"> <input type="submit" value="表单2" /> </form> 相对路径: <form action="ServletB"> <input type="submit" value="表单3" /> </form>
重定向
response.sendRedirect("/servlet/ServletB");
response.sendRedirect("ServletB");
response.sendRedirect("/ServletB");
response.sendRedirect(request.getContextPath() + "/BServlet");
服务端路径
其中请求转发、请求包含都是服务器端路径 request.getRequestDispatcher()的参数 |
- 客户端路径以“/”开头:相对当前主机;
- 服务器端路径以“/”开头:相对当前应用;
request.getRequestDispatcher("/BServlet").forward(request, response);
request.getRequestDispatcher("BServlet").forward(request, response);
其他
url-pattern
<url-pattern>必须使用“/”开头,并且相对的是当前应用。
ServletContext获取资源
String path1 = this.getServletContext().getRealPath("a.txt"); String path2 = this.getServletContext().getRealPath("/a.txt");
Class获取资源
import java.io.InputStream; public class Demo { public void fun1() { InputStream in = Demo.class.getResourceAsStream("/a.txt"); } public void fun2() { InputStream in = Demo.class.getResourceAsStream("a.txt"); } }
ClassLoader获取资源
public class Demo { public void fun1() { InputStream in = Demo.class.getClassLoader().getResourceAsStream("/a.txt"); } public void fun2() { InputStream in = Demo.class.getClassLoader().getResourceAsStream("a.txt"); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MyBatis中的$和#,用不好,准备走人! 2020-06-11
- 项目经理说这种代码必须重构,我同意了,这代码是写的是有多 2020-06-11
- 构造函数中的this()和super() 2020-06-10
- eclipse下创建Maven项目(包含webapp目录结构) 2020-06-09
- 怎么用Java 高效提取、替换、删除PDF文档中的图片 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash