html 页面中 $(request.contextPath) 的应用有哪些条件,或是注意事项

html 页面中 $(request.contextPath) 的应用有哪些条件,或是注意事项,第1张

<%=requestgetContextPath()%>是为了解决相对路径的问题,可返回站点的根路径。

但不用也可以吧,比如<a href="<%=requestgetContextPath()%>/catalogjsp">

我就直接用<a href="catalogjsp">也行啊,这两个文件是在同一个目录下的

比如你要生成一个文件放在服务器上得一个目录下,你可以使用requestgetContextPath()+/dir,组成一个完整得目录结构!

但在JSP文件里,通过requestgetContextPath()得到的路径却为空,为什么

你在context中没有配置path属性,所以你的工程文件就是在根目录下,相当于path="";即是你直接在浏览器中输入你的服务器ip就会到你的jsp页面,而不是tomcat的默认页面;所以你通过requestgetContextPath()得到的字符串是为空的;它是获得虚目录的;

如果你想得到工程文件的实际物理路径,可通过:<%=requestgetRealPath("/")%>,这样页面就会输出:d:/web

requestgetScheme();

返回的协议名称,默认是>

上下文就是服务器上的一个路径,这个路径是存在服务器内存中的,你可以下路径中添加信息,然后根据路径和键值去找这个信息。 这个路径和系统的文件路径一样也是有层次的,比如request(请求)上下文就是session下一级的路径。 至于每种上下文具体的概念可以查看详细的定义。 实现上就通过哈希映射来实现的。 希望采纳,如有疑问可继续追问。谢谢。

vue3已经推出很久了,相信大家也都体验过了,变化很大,尤其是composition Api的出现,而且对typescript的支持更好了,但是写惯了vue2的我,在使用setup的时候,碰到了一个问题:setup里面没有this,而且废除了$children,那么我要如何获取当前组件的实例和获取当前组件的子组件??

本文创建两个演示示例组件:Parentvue、Children,vue

一、获取当前组件

vue3提供了一个getCurrentInstance方法用来获取当前组件的实例

来看页面

控制台中打印出的对象就是当前组件的实例,拿到这个实例对象之后就能调用里面的方法,比如parent,props等数据,这个就是一个方法的事儿

一、获取当前组件的子组件实例

先来看看vue3官网对$children的说明

意思就是说推荐我们使用ref对子组件进行绑定,然后访问子组件

在Childrenvue中家点东西

父组件注册Children

然后就能看到子组件的内容了

下面就通过ref来绑定子组件,要在vue中引入ref。需要注意的是setup的执行是早于mounted,甚至早于created生命周期的,所以通过ref绑定成功之后需要在mounted生命周期才能访问到你绑定的子组件的

调用子组件的方法

setup的第二个参数上有一个expose 属性,这是vue32+才出现的内容,通过expose 可以将该组件内部的一些方法等对外进行暴露

然后父组件通过ref绑定子组件之后,就可以调用子组件暴露出来的setCounter函数了

再来看一个例子

假如有这么一个需求,需要你将Children以插槽的方式传进Parent组件,

并且Parent组件内部要对插槽的内容进行校验,必须是Children组件。再创建一个testvue

需求的意思就是Parent组件内部要进行校验,总不可能将Parent内部的直接子元素一一绑定ref吧?这样太过冗余,如果传入了上百个Children组件呢?更麻烦了。

所以还是要来说说setup的参数了,setup第二个参数context上有一个属性slots,slots上又有一个方法default,该方法的返回值就是一个插槽内容的数组

接下来在Parentvue中导入Children组件,并在testvue的Parent组件中添加一个div

然后Parent组件内部进行判断

用Jsp获取、用Java类获取或用servlet获取项目绝对路径。

一、用Jsp获取

1、获取文件的绝对路径

String file="文件";(例如:datamdb)

String path=applicationgetRealPath(file);

2、获取文件的绝对路径

String p2=requestgetRequestURI();

3、获取当前jsp页面的路径

String p3=requestgetContextPath();

4、获取当前项目的路径

String p4=requestgetServletPath(); 

二、用Java类获取

1、获取Eclipse路径

String a1=SystemgetProperty("userdir");

2、获取当前的classpath路径

String a2=类名classgetResource("")toString();

String a3=DBConnectionclassgetResource("/")toString();

String a4=DBConnectionclassgetClassLoader()getResource("")toString();

String t=ThreadcurrentThread()getContextClassLoader()getResource("")getPath();

3、获取文件的绝对路径

如果要获取WebContent目录下的文件绝对路径怎么办?可以用下面的方法

String t=ThreadcurrentThread()getContextClassLoader()getResource("")getPath();

int num=tindexOf("metadata");

String path=tsubstring(1,num)replace('/', '\\')+"项目名\\WebContent\\文件";

三、用servlet获取

1、获取项目的绝对路径

requestgetSession()getServletContext()getRealPath("")

2、获取浏览器地址

requestgetRequestURL()

3、获取当前文件的绝对路径

requestgetSession()getServletContext()getRealPath(requestgetRequestURI())

以上就是关于html 页面中 $(request.contextPath) 的应用有哪些条件,或是注意事项全部的内容,包括:html 页面中 $(request.contextPath) 的应用有哪些条件,或是注意事项、Vue项目发布到springboot中的系列配置、使用request.getContextPath()可以获得上下文资源,那么什么是上下文资源使用上下文资源有什么作用谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10219902.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存