jsp获取发起请求的servlet路径

jsp获取发起请求的servlet路径,第1张

你要获取的是什么路径

web应用:

EL表达式获取: ${pageContextrequestcontextPath }

EL表达式通过配置初始化参数获取: ${initParamroot }

2 获取servlet的路径:

a requestgetFullName(); 获取到当前servlet的名称

b requestgetContextPath(); 获取整个web应用的名称

c requestsetAttribute("name", (b) + "/servlet/" + (a) ); 作为参数传递给 bjsp

d 在jsp页面通过EL表达式获取: ${name }

      希望能帮助你

在jsp中获得数据源的方法是通过jdbc或者datasource连接到数据库然后获取得到。

1、jsp页面代码:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="c" uri=">

1,首先pageContext是JSP中作用域最小的,但是功能十分强大,

2,pageContext一个顶九个,可以通过pageContext获取其他内置对象,

3,在获取项目路径的时候也是通过pageContextrequestcontextPath这个来获取的

4,顺便说一下pageContextgetSession不是这么获取的,是pageContextsession这样,不需要get

当一个url过来时,如:>

代码如下:

<% String basepath 

=requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort() ;

String Path = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/"+requestgetContextPath()+"/"; 

String uri=requestgetRequestURI();   

uri=urisubstring(urilastIndexOf("/")+1);  //获得是最后的hellojsp 

%>

(上例中,Path路径就是图中的)

说明:

1requestgetContextPath()  返回站点的根目录,如:‘’/demo‘’

2requestgetRealpath("/")得到的是实际的物理路径,也就是你的项目所在服务器中的路径

3requestgetScheme() 等到的是协议名称,默认是>

4requestgetServerName() 得到的是在服务器的配置文件中配置的服务器名称 比如:localhost baiducom 等等

5requestgetServerPort() 得到的是服务器的配置文件中配置的端口号 比如 8080等等

OK,满意的话请好评!O(∩_∩)O~

自定义一个config这样的java或者txt配置文件,在里面写好项目的路径 域名 某些功能的开启 这样比较好。比如:

你写一个configtxt文件

txt里面可以写一些配置

例如。

WEBROOT=D:/123/Tomcat/xxx

SITEName=localhost:8080

等等

都是一些键值配对的属性配置

最后在 你的web程序启动的时候 加载他们,变成Static的一些属性

最后逻辑里在调用这些属性

或者:

以工程名为TEST为例:

(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:\TEST

问题补充:我使用strFile = requestgetParameter("file")只能取得文件名,会发生I/O异常,提示找不到文件路径; <br />用new File(strFile)getAbsolutePath()得到了路径,但是得到的路径形式为:%Tomcat_dir%\bin\XX,XX为文件名 问题补充:<div class="quote_title">lyyf 写道</div><div class="quote_div">1用requestgetParameter(String str) <br /><input type="file" name="fileName" <br />后台用String fileName=requestgetParameter("fileName")获取,试试 <br />2直接获取服务器上的内容 <br /> FileItemFactory factory = new DiskFileItemFactory(); <br /> ServletFileUpload upload = new ServletFileUpload(factory); <br /> List<FileItem list = uploadparseRequest(request); <br />不知道对不对,希望对你有帮助 <br /> <br /> <br /> <br /></div> <br />String fileName=requestgetParameter("fileName")这个我试过了只能得到文件名,浏览器我用IE9、firefox 4试过都不行;我仅仅是想获得<input type="file" name="fileName"的路径 问题补充:<div class="quote_title">maxm 写道</div><div class="quote_div">1是以post方式提交的的吗 <br />2有无 :enctype= "multipart/form-data " <br />3可以用隐藏iframe的方式</div> <br /> <br /> <br />是post提交,如果有enctype= "multipart/form-data "的话,程序就出错,运行起来没反应,我在IE6试了下,可以取得路径(不过此时我的程序能正常运行,但是有乱码出现) 问题补充:<div class="quote_title">maxm 写道</div><div class="quote_div">贴出异常信息</div> <br /> <br />Path is:F:\apache-tomcat-6029\bin\logtxt(这是我使用new File(strFile)getAbsolutePath();取得的路径) <br />javaxmailMessagingException: IOException while sending message; <br /> nested exception is: <br /> javaioFileNotFoundException: F:\apache-tomcat-6029\bin\logtxt (系统找不到指定的文件。) <br /> at comsunmailsmtpSMTPTransportsendMessage(SMTPTransportjava:930) <br /> at serviceMailstartSend(Mailjava:460) <br /> at orgapachejspsend_jsp_jspService(send_jspjava:178) <br /> at orgapachejasperruntime>

1、在Windows桌面中,右击我的电脑图标,选择属性命令,d出系统属性对话框;

2、在系统属性对话框中,单击高级选项卡中的环境变量按钮,弱出环境变量对话框;

3、在系统变量选项区域中找到Path变量,然后单击编辑按钮,在d出的编辑系统变量,对话框框中已有值的后面添加JDK的安装路径

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

<a href="<%=requestgetContextPath()%>/XXXjsp"> //这样获得的是绝对路径

<a href="XXXjsp"> //这样获得的是相对路径

<a href="<%=requestgetContextPath()%>/XXXXjsp"> 能够更有效的防治连接的失效。

requestgetContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串,

如果项目为dzjc, <%=requestgetContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上,

<a href="XXXjsp"> 应该就是指当前路径下的这个xxxjsp页面,有时候也可以在head里设置html:base

来解决路径的问题,不过用的最多的还是requestgetContextPath。

用EL来表示相同功能的EL为:${pageContextrequestgetContextPath()}

requestgetScheme();

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

以上就是关于jsp获取发起请求的servlet路径全部的内容,包括:jsp获取发起请求的servlet路径、在jsp中如何获得数据源、Jsp内置对象为什么要通过pageContext获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存