- 浏览: 420086 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (114)
- C++ (1)
- JAVA (58)
- sql,oracle,mysql (7)
- struts (2)
- tomcat (6)
- JS CSS (6)
- 其他 (7)
- javascript (4)
- exception (1)
- error (1)
- hashmap (1)
- hashset (1)
- python (1)
- sql (2)
- oracle (4)
- mysql (2)
- weblogic (3)
- session (2)
- http-only-cookie (1)
- httponly (1)
- cookie (1)
- ide (0)
- intellij (1)
- eclipse (2)
- idea (1)
- connection (2)
- maven (4)
- m2eclipse (2)
- m2e (2)
- InetAddress (1)
- DNS (1)
- web (1)
- goals (1)
- copy-dependencies (1)
- unpack (1)
- hash (1)
- 分布式 (1)
- gc (4)
- volatile (1)
- rsa (1)
- 加密 (1)
- 签名 (1)
- socket (1)
- tcp (1)
最新评论
-
xuxiaoyinliu:
谢谢,不错哦
有关cookie的httponly属性相关 -
雁行:
svn根本就不需要这么罗嗦的实现。
版本比较,直接出增量文件, ...
ant+cvs实现增量部署 -
ludatong110:
这个东西在IE里面会很明显的,我就碰到过IE中因为这个HTML ...
有关jqGrid应用里的字体大小不能控制的问题 -
labchy:
非常感谢 解决了问题
有关jqGrid应用里的字体大小不能控制的问题 -
tengyue5i5j:
Crusader 写道竟然有这么多人投良好。。。
楼主的思路有 ...
java实现一个栈,并提供取该栈中最大数的方法,复杂度O(1)
这是我在网上搜索的一篇比较全的讲解java路径的文章,由于当时没有看作者,所以没贴链接
对作者抱歉,我只是做记录学习用!
1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个 URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在 Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录, "../"代表上级目录。这种类似的表示,也是属于相对路径。 另外关于URI,URL,URN等内容,请参考RFC相关文档标准。 RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax, (http://www.ietf.org/rfc/rfc2396.txt)
2.关于JSP/Servlet中的相对路径和绝对路径。
2.1服务器端的地址
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候在jsp和servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1/webapp/的。
其用到的地方有: forward:servlet中的request.getRequestDispatcher(address);这个address是在服务器端解析的,所以,你要forward到a.jsp应该这么写: request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,其绝对地址就是:http://192.168.0.1/webapp/user/a.jsp。 sendRedirect:在jsp中
2.2、客户端的地址 所有的html页面中的相对地址都是相对于服务器根目录(http://192.168.0.1/)的,而不是(跟目录下的该Web应用的目录)http://192.168.0.1/webapp/的。 Html中的form表单的action属性的地址应该是相对于服务器根目录(http://192.168.0.1/)的,所以,如果提交到a.jsp为:action="/webapp/user/a.jsp"或action=""/user/a.jsp;
提交到servlet为actiom="/webapp/handleservlet"
javascript也是在客户端解析的,所以其相对路径和form表单一样。
因此,一般情况下,在JSP/HTML页面等引用的CSS,javascript.Action等属性前面最好都加上 ,以确保所引用的文件都属于Web应用中的目录。另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样 当文件移动时,很容易出问题。
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getRequestURI() 文件的绝对路径
:application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
3.2 Servlet中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath (request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext 对象获得几种方式: javax.servlet.http.HttpSession.getServletContext() javax.servlet.jsp.PageContext.getServletContext() javax.servlet.ServletConfig.getServletContext() )
4.java 的Class中获得相对路径,绝对路径的方法
4.1单独的Java类中获得绝对路径
根据java.io.File的Doc文挡,可知: 默认情况下new File("/")代表的目录为:
System.getProperty("user.dir")。 一下程序获得执行类的当前路径
package org.cheng.file;
import java.io.File;
public class FileTest {
public static void main(String[] args) throws Exception { System.out.println(Thread.currentThread().getContextClassLoader().getResource("")); System.out.println(FileTest.class.getClassLoader().getResource("")); System.out.println(ClassLoader.getSystemResource("")); System.out.println(FileTest.class.getResource(""));
System.out.println(FileTest.class.getResource("/"));
//Class文件所在路径
System.out.println(new File("/").getAbsolutePath());
System.out.println(System.getProperty("user.dir"));
}
}
4.2服务器中的Java类获得当前路径(来自网络)
(1).Weblogic WebApplication的系统文件根目录是你的weblogic安装所在根目录。例如:如果你的weblogic安装在c:\bea\weblogic700..... 那么,你的文件根路径就是c:\. 所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径: 比如将你的参数文件放在c:\yourconfig\yourconf.properties, 直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径: 相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放在yourwebapp\yourconfig\yourconf.properties, 这样使用: new FileInputStream("./yourconfig/yourconf.properties"); 这两种方式均可,自己选择。
(2).Tomcat 在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(3).Resin 不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET 的路径为根.比如用新建文件法测试File f = new File("a.htm"); 这个a.htm在resin的安装目录下 (4).如何读相对路径哪?在Java文件中getResource或getResourceAsStream均可例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的 /代表web 发布根路径下WEB-INF/classes 默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
5.读取文件时的相对路径,避免硬编码和绝对路径的使用。
===============================================================
首先说一下调试:属于路径配置问题。
首先,提供一份已通过的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>search.Search</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/search/Search</url-pattern>
</servlet-mapping>
</web-app>
下面分析一下搜集资料:
摘自快问:
Q:请教一下高手,action=http://www.steel-pipe-tube-manufacturer.com/contact_us.html?action=send 是不是有可能是链接到动态网站上面去的? 据他讲,他好象也是静态网站.
A:静态网页不可能具有发送邮件的功能(除非调用外部邮件发送程序,如outlook,而这个链接就仅仅是完成一个调用这个外部程序的功能,不能直接发送,静态页面可以实现),
action=http://www.steel-pipe-tube-manufacturer.com/contact_us.html?action=send
分 成以后面的问好隔开分成两个部分,问号前为需要跳转的到的页面地址,问号后面是一组值,这组值将传到问号前面的页面以供代码利用,你这个问号前面的地址为 一以html扩展名的绝对路径,所以是不是这个网站提供的邮件发送服务,而这里之所以是html扩展名是因为动态页面解析以后的页面,而其在服务器用于解 析的页面实际是动态页面。
<form action="#">:表示为该地址为缺省,即本地地址!
Q: <html:form action="oxAction.do?forumID=取参数值代码" >中的 取参数值代码 部分如何写呢?
A:这样的用法不行的 ,<htm:form action="<%%>" 中的<%%>不被Struts所解析的 ,用<%%>或者<bean:write>形式都是不行的?如何写代码解决在其中插入动态参数值问题?
Q:<html:link page="/ss.do <form action="/ss.do 区别在哪?
A: <form action="ss.do?action=ddd 这个OK 会把form中包含的input标签中的name=value传递到服务器端
<html:link page="/ss.do?action=ddd 这个ok 会把action最为一个parameter传到服务器
相对于Context路径与相对于项目路径分析与区别:(转)
其实,在JSP中用到的相对上下文路径(Context Relative),比如<%@ include file="relativeURL" %> 或<jsp:include>动作中用到的相对路径,网上很多资料都是人云亦云,缺少清晰的实例,以Tomcat 5.0作为web server,经过实验之后,总结如下:
(1)若HTML或JSP元素中用到的路径是以文件名或目录名(包括. 和 .. 这2种特殊目录符号)开头,则该路径的参照基准都是当前页面文件的目录位置。
(2)HTML和JSP元素中用到的相对上下文路径,即URL都是以"/"开头,它们的参照是不同的。实际上,在HTML中,这个"/"代表的是http://localhost:8080;而在JSP元素中以"/"开头,则指代在conf/server.xml中设置的<Context>中的path属性的值。
java中取得上下文路径的方法
1.在任意的class里调用
URLDecoder.decode(this.getClass().getClassLoader().getResource("/").getPath(), "UTF-8");
将获得当前class的全路径。
如 : C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\clientweb\WEB-INF\classes
URLDecoder.decode负责把编码还原,不然路径中就会有类似于%20%ED等的符号。
2.可以在servlet的init方法里
String path = getServletContext().getRealPath("/");
这将获取web项目的全路径
例如:\eclipse\workspace\tree\
tree是web项目的根目录
3.request.getContextPath();
获得web根的上下文环境
如 /tree
tree是web项目的root context
=====================================================
通常我在写javascript的时候从来没有意识到document和window.document之间是有区别的,实际使用过程中也确实没有遇到问题,但是这埋下了非常大的隐患,当出现问题时,这个bug就会变得非常难找。
代码如下:
test1.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>test1.jsp</title>
</head>
<body>
<iframe src='test2.jsp' />
</body>
</html>
test2.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>test2.jsp</title>
</head>
<script language='JavaScript'>
function showA() {
alert(document.getElementById('input2').value);
}
function showB() {
alert(window.document.getElementById('input2').value);
}
</script>
<body>
<input id='input2' type='text' name='name2' value='ph2' /><br>
<input type='button' name='butt1' value='showA()' onclick='javascript:showA();' /><br>
<input type='button' name='butt2' value='showB()' onclick='javascript:showB();' /><br>
</body>
</html>
点showA()和点showB()有区别吗?大多数机器上都是没有,但是毕竟还是有,今天就被我遇到了,一个用户youxing他就告诉我在他的笔记本上showB()会出现错误。(操作系统,浏览器版本,设置都是一样,奇怪吧!)
问题在于当test2.jsp存在于iframe中时,这里的window.document究竟是指iframe里的document,还是指外面这个document呢?
所以,在此blog提醒自己,可以省略window.的地方,还是省略吧。
出处:http://blog.csdn.net/rekcah_ph/archive/2005/08/30/467859.aspx
发表评论
-
【Java TCP/IP Soket】— 消息边界的问题解决
2015-08-11 09:47 1457转自:http://blog.csdn.net/ ... -
java中volatile解释
2015-05-28 16:28 723http://www.cnblogs.com/aigongs ... -
Java中的substring真的会引起内存泄露么?
2015-05-27 13:18 957转: http://droidyue.com/blog/ ... -
成为Java GC专家(4)—Apache的MaxClients参数详解及其在Tomcat执行FullGC时的影响
2015-05-27 12:24 632转:http://www.importnew.com ... -
成为Java GC专家(3)—如何优化Java垃圾回收机制
2015-05-27 12:23 797转:http://www.importnew.com ... -
成为JavaGC专家(2)—如何监控Java垃圾回收机制
2015-05-27 12:20 652转:http://www.importnew.com ... -
成为JavaGC专家(1)—深入浅出Java垃圾回收机制
2015-05-27 12:16 516转:http://www.importnew.com ... -
《深入分析Java Web技术内幕》-样章示图总结
2013-01-17 11:46 1325试读完本书的样章章节后,感受颇深,其实单从样 ... -
eclipse中(装了插件m2eclipse后的)导入maven工程显示"感叹号"
2013-01-15 16:02 7385有时候导入一些开源工程(maven结构的),在 ... -
(转)分析模式 之 参与者(Party)
2012-10-22 16:39 961在我们分析模型的时 ... -
(转)java.sql.SQLException: (无法从套接字获取更多数据)数据大小超出此类型的最大值
2012-10-22 16:38 5526转至:http://linwei-211.i ... -
有关hashmap,hashset的相关总结
2011-09-16 17:32 3052这篇转自http://hi.baidu.com ... -
有关JAVA异常和错误(ERROR)的处理
2011-09-15 20:41 19177最近遇到有关ERROR的处理问题,下面这篇文章 转至: ... -
XFire 、Axis2、CXF、JWS、java6 区别 (转)
2011-06-13 22:50 1924XFire VS AxisXFire是与Axis2 并列的 ... -
转载[Connection reset,Connection reset by peer,Software caused connection abort :]
2011-06-08 13:16 9994Connection reset,Connection ... -
java实现一个栈,并提供取该栈中最大数的方法,复杂度O(1)
2011-06-07 15:18 2163记得是哪个面试题里的,这里只想到一个简单的方法,大家看看 ... -
Listener Servlet和filter的应用
2011-05-16 22:21 891下面这段话是小总结: Listener是Ser ... -
转载【有关JSP中的转发和重定向用法】
2011-05-15 19:05 1756转自: http://blog.csdn.net/cyhjr ... -
转载【Java对象的强、软、弱和虚引用】
2011-05-13 22:47 8941.Java对象的强、软、弱和虚引用 在JDK 1.2以 ... -
有关JNDI的理解
2011-04-14 11:22 973JAVA EE规范里的jndi是为了解决下面两个问题: ...
相关推荐
总结来说,这个压缩包中的资源覆盖了Java Web开发的多个重要方面,包括流行的Struts 2框架、必备的开发工具Eclipse,以及全面的Java编程理论。对于想要在Java领域深入发展的开发者而言,这些都是不可多得的学习资料...
标题中的“我对JAVA学习和JAVA程序员找工作的看法”表明了本文将围绕Java编程语言的学习路径和求职策略展开。描述中的“java程序员应该看的东西”则暗示了作者将分享他认为对于Java程序员重要的技能和知识...
它是运行Java应用程序所需的所有东西的集合。 - **JDK**(Java Development Kit,Java开发工具包):包含JRE以及额外的开发工具,如编译器`javac`、打包工具`jar`等。如果你打算开发Java应用程序,那么安装JDK是...
//这行代码是设置 ContentType,把他设置成 pdf,不然浏览器访问就会出一大堆看不懂的东西 response.setContentType("application/pdf;charset=UTF-8"); response.getOutputStream().write(data); input.close()...
Java是当前最流行的编程语言之一,本文将对Java基础知识点进行总结和复习,包括类路径的设置、-path的设置、Java数据类型、基本运算符号、控制语句、数组、方法、重载、类的定义、对象的产生和使用、匿名对象、封装...
课程设计的时候遇到链接数据库 的问题,这是我个人总结的,还有附件一并给大家了,超级好的东西,不会用的同学可以给我留言 1.升级到sql2000到sp4 2.下载libsql2000 3.exlipec ->窗口->首选项->java->构建路径->...
物理路径" docBase="D:\\虚拟路径(文件在硬盘中的路径,注意分隔符用\\)" reloadable="true"> ``` ### JSP语法基础 1. **脚本元素**: - `! %>`:定义JSP页面的Java类成员,如变量、方法等,这些内容在JSP被翻译...
总结起来,将数据库中的GPS经纬度数据在百度地图上以路径形式展示,涉及数据处理、地图API的使用以及Web开发技巧。通过以上步骤,你可以创建一个直观的可视化工具,帮助分析和理解地理轨迹数据。记得在实际操作中...
农夫每次只能带一样东西过河,且农夫不在时,如果狼和羊在一起,狼会吃掉羊;如果羊和白菜在一起,羊会吃掉白菜。问题是如何让农夫、狼、羊和白菜安全地过河? #### 二、问题模型化 在这个Java实现中,问题被建模...
总结来说,jxl是一个强大的Java库,它简化了与Excel文件交互的过程,提供了丰富的功能,并且易于理解和使用。对于需要在Java应用程序中处理Excel数据的开发者而言,jxl是一个值得信赖的工具。通过学习和使用jxl,...
- 示例中的`CLASSPATH`包含了`%JAVA_HOME%\lib\dt.jar`和`%JAVA_HOME%\lib\tools.jar`这两个路径,这表明这两个JAR文件被加入到了类路径中。 - 类似地,在环境变量设置中添加名为`CLASSPATH`的变量,并将其值设置...
`ScriptEngineManager`会在当前线程上下文的类加载器路径(Classpath)中的`META-INF/services/javax.script.ScriptEngineFactory`文件中查找可用的脚本引擎。它提供了三种方式来检索脚本引擎: 1. `...
根据给定文件中的标题“java面试100问”及描述“java面试100问,针对人力资源可能提出的问题进行总结”,以下是对该文件部分所提及的知识点的详细解析: ### 1. 自我介绍与个人特点 在面试时,自我介绍是展现个人...
总结,"thread 讲解 很经典的东西 POSIX的标准的"涵盖了线程编程的核心概念,特别是通过POSIX标准实现的多线程模型。理解并熟练掌握这些知识点对于开发高效、可移植的多线程应用至关重要。通过阅读提供的源代码,...
总结起来,Struts2框架以其优秀的MVC实现、拦截器机制、插件系统以及全面的配置选项,为Java web开发带来了便利和高效。尽管在近年来Spring Boot等新兴框架的冲击下,Struts2的热度有所下降,但它依然是许多企业级...
- **创建项目**:在IDE中创建新的GWT项目,并配置好相关的SDK路径。 - **编写Java代码**:根据需求编写Java代码,利用GWT提供的API来构建UI界面和处理逻辑。 - **运行项目**:在浏览器中预览项目,测试其功能是否...
然而,在面试中,很多开发者对 Spring Boot 的理解仅停留在简单的使用阶段,很多东西都不清楚。本文总结了 20 道顶尖的 Spring Boot 面试题,旨在帮助开发者更好地理解 Spring Boot。 1. 什么是 Spring Boot? ...