javaWeb中使用URL的情况总结(相对路径)
来源:互联网 发布:好看的c语言编译器 编辑:程序博客网 时间:2024/06/06 10:01
绝对路径:
是从盘符开始的路径,形如C:\windows\system32\cmd.exe
相对路径:
1、“./” :表示文件目前所在的目录。2、“../”:表示文件的上一层目录。3、“/” :表示所在文件的一级目录。(就是在根目录下)相对路径的例子:
1: C:\Program Files\other\index.htm
2: C:\Program Files\javaweb\test\01.htm
上面有两个绝对路径表示的文件路径!
问1:index.htm要想链接到01.htm这个文件,正确的链接应该是什么?
答1:“../javaweb/test/01.htm”
问2:01.htm要想链接到index.htm这个文件,在01.htm文件里面应该是什么?答2:“../../other/index.htm”
绝对路径:
是从盘符开始的路径,形如C:\windows\system32\cmd.exe
相对路径:
相对路径的例子:
1: C:\Program Files\other\index.htm
2: C:\Program Files\javaweb\test\01.htm
上面有两个绝对路径表示的文件路径!
问1:index.htm要想链接到01.htm这个文件,正确的链接应该是什么?
答1:“../javaweb/test/01.htm”
问2:01.htm要想链接到index.htm这个文件,在01.htm文件里面应该是什么?Tomcat软件和Eclipse软件对于web项目的布局:
总结:
javaWeb中使用URL的时候经常用到相对路径,下面是我总结的一些关于有用到文件路径的地方!!
1、HttpServletResponse对象的重定向:(伪代码如下)response.sendRedirect("signIn.html");
response.sendRedirect("/zuoye/signIn.html");
response.sendRedirect("http://localhost:8080/zuoye/signIn.html");
response.sendRedirect("/zuoye/sign");
注释:第一行伪代码:直接写需要重定向的文件全名就行了
第二行伪代码:以“/”加项目名开头,后接需要重定向的文件相对项目名的路径
第三行伪代码:绝对路径
第四行伪代码:以“/”加项目名开头,后接需要重定向的文件相对项目名的路径
注释:前三行代码是我所总结出来的表示路径方式!!
注意:重定向可以定位到html文件,也可以定位到servlet文件!
以下补充一个项目名“test_server_1”的重定向实例!
(如下两张图所示,重定向的路径不是以"/"开始的,所以会出现如是错误。正确格式请参照上面给的实例!)
request.getRequestDispatcher("sign").forward(request,response);
request.getRequestDispatcher("jsp/register.jsp").forward(request, response);
request.getRequestDispatcher("/jsp/register.jsp").forward(request,response);
注意:路径只能如上写相对路径,并且这个相对路径只除去项目名路径(最后有实例说明什么是项目名路径)和"/",不能写以“项目名路径”开始的相对路径!
下面的伪代码就是错误的!!
request.getRequestDispatcher("/zuoye/sign").forward(request,response);
3、JS代码中实现页面跳转:(伪代码如下)
window.location.href='http://127.0.0.1:8080/zuoye/welcome.html';
response.getWriter().write("<scripttype='text/javascript'>window.location.href='/zuoye/sign.html';</script>");
注释:第一行伪代码为JS文件里的代码,里面用的是绝对路径;
第二行伪代码是servlet文件里的代码,里面有的是相对路径。
4、JSP实现定时刷新:(真实代码如下)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var num = 2;
function time(){
if(num ==0){
/* window.location.href="/sign_JSP_EL_JSTL/jsp/welcome.jsp"; */
<%
response.setHeader("refresh", "3;/sign_JSP_EL_JSTL/jsp/welcome.jsp");
%>
}
document.getElementsByTagName("font")[0].innerHTML= num;
num--;
}
setInterval("time()",1000);
</script>
</head>
<body>
<h2>你好,你所访问的资源已经丢失,请访问其他资源,<font>3</font>秒后将转到welcome画面!!</h2>
</body>
</html>
上面代码中的红色部分为常用的两种方式,下面列出另一种方式(只需要写出文件名字,并且不能以“/”开头)
response.setHeader("refresh","3;welcome.jsp");
下面这种方式是错误的:
response.setHeader("refresh", "5;${pageContext.request.contextPath}/jsp/welcome.jsp");
注释:请求转发和定时刷新,其本质实现是一样的,只是表现不一样,一个可以实现定时的功能而已!
5、超链接标签:(伪代码如下)
<a href="/ssign/sign.html">登录</a>
<a href=" http://127.0.0.1:8080/ssign/sign.html">登录</a>
注意:调用HTML文件的路径可以写绝对路径,也可以在工作空间找其相对与项目名的相对路径(java项目则在workspace中找,web项目在Tomcat中找)
6、表单:(伪代码如下)<form action="/zuoye/register" method="get">
<form action="register" method="post">
注释:这里的路径写的是servlet文件的路径,也可以写HTML文件的路径,可以参照上面两行代码进行手写。
注意:
使用第二种方式时,当前文件就在根目录下(Eclipse中看到直接在WebContent文件下)则是正确的,但是如果不在根目录下则会报错!!
原因是因为第二种方式会自动补全路径,而补充的路径为该文件相对根目录的路径
例:我们这里需要访问的register文件的相对路径为"/zuoye/register",而如果我们的文件是在WebContent/HTML下,则系统会把第二种的路径补全为"/zuoye/HTML/register",然后你就不喜欢看到的404页面就来了!!!
7、javaWeb项目中的web.xml配置文件:(具体配置信息如下)
<servlet-class>com.wq.servlet.Servlet_register</servlet-class>
注意:右击java类名 选择“Copy Qualified Name”就能得到这个类的全限定名 (全限定名:包名+类名)
8、驱动接口路径:(具体路径如下)
driverClass=com.mysql.jdbc.Driver
注意:驱动接口的路径就是jar包中的Driver接口类的路径(mysql-connector-java-5.1.7-bin.jar)
9、连接mysql数据库的路径:(mysql的路径)url=jdbc:mysql://localhost:3306/test
url=jdbc:mysql://127.0.0.1:3306/test
注释:localhost可以换成任何可以连接的mysql数据库所在的电脑的IP地址!!
10、类路径:(伪代码如下)
InputStream in =JDBC_Util.class.getResourceAsStream("/com/wq/config/DB.properties");
注意:
getResourceAsStream(“/..”):
“/”:表示根目录,必须是以"/"为开头才行!!!!!!!
java项目中的是src为根目录
javaWeb项目中的是WEB-INF/classes为根目录
注意:
在javaWeb项目中获取".properties"文件只能使用类路径的方法,不能使用流的方式!
11、外部链接css文件:
<link href="../css/a.css" rel="stylesheet" type="text/css"/>
12、外部链接js文件:
<script type="text/javascript" src="../js/mydate.js"> </script>
13、图片标签:
<imgsrc="../img/mm.jpg" />
14、javaWeb项目中的导入的jar包路径:
web项目中jar包放在这个路径下!!
“\WebContent\WEB-INF\lib ”
总结:以上总结的几点用处,除了一些特例外不能用绝对路径,都可以使用绝对路径(以上有些没有写绝对路径)
另外补充两点:(JSP中获得项目名路径和项目全路径的方法)
JSP表达式:
<%=request.getContextPath() %>:项目名路径(/zuoye)
<%=request.getRealPath("/") %>:项目全路径(C:/...../zuoye)(此处用五个点表示中间路径)
EL表达式:
${pageContext.request.contextPath}:项目名路径
- javaWeb中使用URL的情况总结(相对路径)
- Javaweb中相对路径,绝对路径问题总结
- 样式表中url()的相对路径使用
- javaweb相对路径file使用
- JAVAWEB相对路径的配置
- J2EE-JavaWeb中请求的绝对路径与相对路径
- javaWEB总结(24):相对路径和绝对路径
- ASP.NET中相对路径的总结
- URL的相对路径问题
- javaWeb入门<2>javaWeb中使用绝对路径与相对路径小结
- 使用jQuery的ajax时url的相对路径问题
- javaweb中路径的书写总结
- javaweb中路径的书写总结
- Log4j中使用相对路径的方法
- Dom4j中XPath相对路径的使用
- bat中使用相对路径的问题
- vs中使用相对路径的问题
- Dom4j中XPath相对路径的使用
- mybatis-generator逆向工程生成model dao mapping
- 函数的四种调用方式
- JavaScript 验证
- 转载]金仕达、恒生、上期CTP,期货公司的哪一套后台系统适合于程序化下单
- 使用GroboUtils多线程并发请求测试springmvc controller
- javaWeb中使用URL的情况总结(相对路径)
- 快速认识和使用浏览器跟踪Http服务及Http服务调试工具
- C++中的命名空间(using name std)
- NIO系列(六)——线程通信(pipe)
- TI的CC2530单片机检测不同类型的方波
- STM32学习笔记之USB库文件分析
- 219. Contains Duplicate II
- HttpClient4.5.2模拟表单post提交上传文件
- 遗传算法的matlab实现