1. 怎么样让servlet访问web-inf下的网页或jsp文件
web-inf目录只能在sevlet(或者spring的control,struts的action,本质都是sevlet)中访问。
也就是只能通过java后台访问,这里web-inf下的内容是不对外开放的/安全的,不能通过url直接访问。已避免非法人员通过url自己操作一些比较私密的文件信息。
Servlet访问WEB-INF目录下的info.jsp文件的代码如下:
1、web.xml中的servlet可以这样配置:
<servlet>
<servlet-name>index</servlet-name>
<servlet-class>跳转到首页的action</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/index.action</url-pattern><!--映射的路径-->
</servlet-mapping>
2、servlet中实现方法:
RequestDispatcher dispatcher=request.getRequestDispatcher("/WEB-INF/info.jsp");
dispatcher.forward(request, response);
2. qqdat.dat文件放在WEB-INF文件夹下,java如何获取啊 是用RandomAccessFile随机访问类读取呢个路径噶
在类的方法中调用this.getClass().getResource("/").getPath(),自己再载取字符串就可以
3. jsp 在java程序中获取 web-inf目录
你需要一个servlet或者action,servlet举例:
建一个servlet,在doPost()中通过,
request.getSession().getServletContext().getRealPath("/WEB-INF");
4. 在java中怎么访问web-inf 目录下的jsp页面。
web-inf规下面的东西是安全的,所以说你直接给web-inf里的jsp是不能纺问的,但是你可以通过servlet或都struts2框架的action进行纺问
5. java文件中怎样获取webcontent/web-inf/conf目录下的xml配置文
远标教育为你解答:
ProcereFactory是本类的名称
java.net.URL url = this.getClass().getClassLoader().getResource(configFileName);
tomcat启动后才能获取
6. spring test 怎么读取web-inf下的applicationcontext
假设Spring配置文件为applicationContext.xml
一、Spring配置文件在类路径下面
在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。
以下的项目,因为是用maven管理的,所以配置文件都放在“src/main/resources”目录下
这时候,在代码中就不可以使用来加载配置文件了,而应使用。
Java代码
=new("src/main/webapp/WEB-INF/applicationContext.xml");
然后获取相应的bean。
如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:
Java代码
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/applicationContext.xml"})
只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。
下面是一个Spring管理下的Junit测试类:
Java代码
packagecom.sohu.group.service.external;
importjava.util.List;
importorg.junit.Test;
importorg.junit.runner.RunWith;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.test.context.ContextConfiguration;
importorg.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"file:src/main/webapp/WEB-INF/applicationContext.xml"})
{
@Autowired
;
@Test
(){
List<String>list=suFriendService.getUserFollowerList("[email protected]");
System.out.println("------"+list);
}
}
7. java web应用中把 WEB-INF\classes\db.properties 在static中如何读取里面的数据
pp=new Properties();
fis = new FileInputStream("C:\\Program Files (x86)\\Apache Software Foundation\\Tomcat 7.0\\webapps\\test\\WEB-INF\\classes\\db.properties");
pp.load(fis);
8. java怎么读取web工程里面的文件
平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)
上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可
1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头,
InputStream is=Test1.class.getResourceAsStream("/test.txt");
(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")
2 从httpServletRequest出发
String cp11111=request.getSession().getServletContext().getRealPath("/");
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)
9. 普通java类文件如何访问WEB-INF目录下的文件,不是Servlet、JSP类文件
你就用System.out.print();在控制台输出一下内容咯!例如一下就是访问配置文件并输出相应变量的方法
public void capturePropertys(String driver,String url,String user,String password){
Properties prop = new Properties();
InputStream is = a_connection_Propertys.class.getResourceAsStream("db.properties");
//getClass().getResourceAsStream("mysql.properties");
try{
prop.load(is);
}catch(IOException e)
{
System.out.println("[Dbconnection]打开 文件 出错");
}
this.jdbc = prop.getProperty(driver);
this.url = prop.getProperty(url);
this.user = prop.getProperty(user);
this.password = prop.getProperty(password);
System.out.println("jdbc="+this.jdbc);
System.out.println("url="+this.url);
System.out.println("user="+this.user);
System.out.println("password="+this.password);
}