上下文就是服务器上的一个路径,这个路径是存在服务器内存中的,你可以下路径中添加信息,然后根据路径和键值去找这个信息。 这个路径和系统的文件路径一样也是有层次的,比如request(请求)上下文就是session下一级的路径。 至于每种上下文具体的概念可以查看详细的定义。 实现上就通过哈希映射来实现的。 希望采纳,如有疑问可继续追问。谢谢。
requestgetContextPath()应该是得到项目的名字,如果项目为根目录,则得到一个“”,即空的字条串, 如果项目为abc, / 将得到abc/,服务器端的路径则会自动加上, 应该就是指当前路径下的这个xxxjsp页面,有时候也可以在head里设置html:base 来解决
很多朋友都想知道java如何获取当前目录路径?下面就一起来了解一下吧~
1、利用SystemgetProperty()函数获取当前路径:
Systemoutprintln(SystemgetProperty("userdir"));//userdir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹 try{ Systemoutprintln(directorygetCanonicalPath());//获取标准的路径 Systemoutprintln(directorygetAbsolutePath());//获取绝对路径 }catch(Exceptin e){} FilegetCanonicalPath()和FilegetAbsolutePath()大约只是对于new File("")和new File("")两种路径有所区别。 # 对于getCanonicalPath()函数,“"就表示当前的文件夹,而”“则表示当前文件夹的上一级文件夹 # 对于getAbsolutePath()函数,则不管””、“”,返回当前的路径加上你在new File()时设定的路径 # 至于getPath()函数,得到的只是你在new File()时设定的路径 比如当前的路径为 C:/test : File directory = new File("abc"); directorygetCanonicalPath(); //得到的是C:/test/abc directorygetAbsolutePath(); //得到的是C:/test/abc direcotrygetPath(); //得到的是abc File directory = new File(""); directorygetCanonicalPath(); //得到的是C:/test directorygetAbsolutePath(); //得到的是C:/test/ direcotrygetPath(); //得到的是 File directory = new File(""); directorygetCanonicalPath(); //得到的是C:/ directorygetAbsolutePath(); //得到的是C:/test/ direcotrygetPath(); //得到的是 另外:SystemgetProperty()中的字符串参数如下: SystemgetProperty()参数大全 # javaversion Java Runtime Environment version # javavendor Java Runtime Environment vendor # javavendorurl Java vendor URL # javahome Java installation directory # javavmspecificationversion Java Virtual Machine specification version # javavmspecificationvendor Java Virtual Machine specification vendor # javavmspecificationname Java Virtual Machine specification name # javavmversion Java Virtual Machine implementation version # javavmvendor Java Virtual Machine implementation vendor # javavmname Java Virtual Machine implementation name # javaspecificationversion Java Runtime Environment specification version # javaspecificationvendor Java Runtime Environment specification vendor # javaspecificationname Java Runtime Environment specification name # javaclassversion Java class format version number # javaclasspath Java class path # javalibrarypath List of paths to search when loading libraries # javaiotmpdir Default temp file path # javacompiler Name of JIT compiler to use # javaextdirs Path of extension directory or directories # osname Operating system name # osarch Operating system architecture # osversion Operating system version # fileseparator File separator ("/" on UNIX) # pathseparator Path separator (":" on UNIX) # lineseparator Line separator ("/n" on UNIX) # username User’s account name # userhome User’s home directory # userdir User’s current working directory
JAVA中获取路径 关键字: java中获取路径
1、jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:requestgetRequestURI() 结果:/TEST/testjsp (2)得到工程名:requestgetContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:requestgetServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/testjsp (4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp") 结果:D:/resin/webapps/TEST/testjsp (5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent(); 结果:D:/resin/webapps/TEST
2、在类中取得路径: (1)类的绝对路径:ClassclassgetClass()getResource("/")getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:SystemgetProperty("userdir") 结果:D:/TEST
1,首先pageContext是JSP中作用域最小的,但是功能十分强大,
2,pageContext一个顶九个,可以通过pageContext获取其他内置对象,
3,在获取项目路径的时候也是通过pageContextrequestcontextPath这个来获取的
4,顺便说一下pageContextgetSession不是这么获取的,是pageContextsession这样,不需要get
首先:问题描述里面,你的外网跟内网的概念表述模糊。192168的都是内网。不会是公网。
出现这种情况,你需要check三方面的东西:
客户端:一个是本地的配置,就是你的本地DNS配置,查看一下是否有误,是否配置了静态的映射地址。具体方法还要辛苦你搜下。
服务器端:check TOMCAT的conf文件夹下的serverxml。确认这两个端口是否有开启
代码层次:是否在filter里面或者业务代码逻辑里面,对你自己的IP做了特殊的处理。
感觉服务器端和代码层次的原因可能性不会太大。所以建议你仔细check一下自己DNS的配置和浏览器的问题。浏览器可以用其他浏览器打开试试,如果还是同样的情况,就可以确认是DNS的问题了
希望对你有帮助!如果有用就加分吧
然后再确保一点:这个context是一个全局变量,spring加载的时候,根handle信息就被装载,无论是本地应用程序还是web应用都是这样,下面分别说下如果是本地程序和其他情况的获取方式。
如果是main方法,你要启动spring,有很多方法,有基于annotation的注解来讲配置文件装载起来,当然,你想获取applicationCntext可在main方法中这样获取:
[java] view plain copy
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("beansxml"));//这样来加载配置文件
<%=requestgetContextPath()%>是为了解决相对路径的问题,可返回站点的根路径。
但不用也可以吧,比如<a href="<%=requestgetContextPath()%>/catalogjsp">
我就直接用<a href="catalogjsp">也行啊,这两个文件是在同一个目录下的
比如你要生成一个文件放在服务器上得一个目录下,你可以使用requestgetContextPath()+/dir,组成一个完整得目录结构!
但在JSP文件里,通过requestgetContextPath()得到的路径却为空,为什么
你在context中没有配置path属性,所以你的工程文件就是在根目录下,相当于path="";即是你直接在浏览器中输入你的服务器ip就会到你的jsp页面,而不是tomcat的默认页面;所以你通过requestgetContextPath()得到的字符串是为空的;它是获得虚目录的;
如果你想得到工程文件的实际物理路径,可通过:<%=requestgetRealPath("/")%>,这样页面就会输出:d:/web
requestgetScheme();
返回的协议名称,默认是>
以上就是关于使用request.getContextPath()可以获得上下文资源,那么什么是上下文资源使用上下文资源有什么作用谢全部的内容,包括:使用request.getContextPath()可以获得上下文资源,那么什么是上下文资源使用上下文资源有什么作用谢、为什么request.getContextPath得到的路径为空、java获取当前目录路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)