求大神们帮帮忙,Java如何获取服务器上和项目同级的文件夹路径???
服务器使用的是什么?tomcat?
String loadpath = requestgetSession()getServletContext()getRealPath("/");
String root = new File(loadpath)getParentFile()getParentFile()getAbsolutePath();
这个可以获取到tomcat的服务器的项目的同级目录
如果已经登陆到域上了 就需要在域服务器上更改了
注意:要指定主文件夹的网络路径,首先必须创建网络共享并设置允许该用户访问的权限。使用服务器计算机上“计算机管理”中的“共享文件夹”可实现此目的。
要为域用户分配主文件夹,请执行下列步骤: 1 单击“开始”,指向“程序”,指向“管理工具”,然后单击“Active Directory 用户和计算机”。
2 在控制台树中,单击“用户”。
3 在“细节”窗格中,右键单击用户帐户,然后单击“属性”。
4 在“属性”对话框中,单击“配置文件”。
5 在“主”文件夹下,键入文件夹信息。
6 要在网络服务器上分配主文件夹,请单击“连接”,然后指定驱动器号。
7 在“转至”框中,键入一个路径。此路径可以是下列类型的路径中的任何一个: 网络路径,例如:
\\服务器\用户\tester
您可以替换为你本地机器的路径,
例如:
\\你机器的ip\C:\Documents and Settings\用户名
其中,服务器是主文件夹所在的文件服务器的名称,用户是共享文件夹。
8 单击“确定”。
如果你可以打开本地 计算机管理中的用户管理 可以试下这个方法
为本地用户分配主文件夹
要为本地用户分配主文件夹,请执行下列步骤:
1 单击“开始”,指向“设置”,单击“控制面板”,双击“管理工具”,然后双击“计算机管理”。
2 在控制台树中,单击“本地用户和组”中的“用户”。
3 单击该用户帐户。
4 单击“操作”,然后单击“属性”。
5 单击配置文件
6 在“配置文件路径”框中,键入一个路径。
C:\Documents and Settings\用户名
7 单击“确定”。
在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用SystemgetProperty("userdir")获取你工程的绝对路径。
另:在Jsp,Servlet,Java中详细获得路径的方法!
1jsp中取得路径:
以工程名为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
3在Servlet中取得路径:
(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。
结果:E:\Tomcat\webapps\TEST
(2)得到IE地址栏地址:requestgetRequestURL()
结果:http://localhost:8080/TEST/test
(3)得到相对地址:requestgetRequestURI()
结果:/TEST/test
1、查询SQL中的所有表: Select TABLE_NAME FROM 数据库名称INFORMATION_SCHEMATABLES Where TABLE_TYPE='BASE TABLE' 执行之后,就可以看到数据库中所有属于自己建的表的名称 2、查询SQL中所有表及列: Select dbosysobjectsname as Table_name, dbosyscolumnsname AS Column_name FROM dbosyscolumns INNER JOIN dbosysobjects ON dbosyscolumnsid = dbosysobjectsid Where (dbosysobjectsxtype = 'u') AND (NOT (dbosysobjectsname LIKE 'dtproperties')) 3、在Sql查询分析器,还有一个简单的查询方法: EXEC sp_MSforeachtable @command1="sp_spaceused ''" 执行完之后,就可以看到数据库中所有用户表的信息 4、查询总存储过程数:select count() 总存储过程数 from sysobjects where xtype='p' 附:xtype类型D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束L = 日志FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程S = 系统表TF = 表函数
TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图X = 扩展存储过程 另:在sqlserver中取得某个数据库中所有表名的sql语句 select sysobjectsname from sysobjectsxtype ='U';SELECT name
WHERE (xtype = 'U') 在数据库的sysobjects表里有这个数据库全部表的信息, xtype值为'U'的就是表名 注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER 默认它也是用户表,想要从用户表中排出,需要加上限定条件 status>0,即:select from sysobjects where xtype='U' and status>0
两种情况:
打开iis管理器,看下有多少个站点
如果是多个站点那么可以直接看站点属性找到每个域名或者子域名对应的目录;
打开iis管理器,看到的是只有一个站点
站点属性那边绑定了好几个子域名,那么这个站点属性目录下的首页文件或者webconfig伪静态文件肯定做了首页判断跳转即可看到每个子域名对应的目录。
0条评论