
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获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)