`
net.mail.public
  • 浏览: 6306 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Servlet中使用File类出现问题..

 
阅读更多
我在servlet的doGet方法中创建文件,为何建立不了呢?谢谢..

doGet方法的代码如下:

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
File file=new File("ere","abcd.txt");
out.print("abc:");
out.println(file.getAbsolutePath());
//out.println(file.getName().toString());

file.createNewFile();

out.flush();
out.close();
}
错误提示如下:
java.io.IOException: 系统找不到指定的路径。
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:850)
at com.servlet.ListFold.doGet(ListFold.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
分享到:
评论
1 楼 yangyiqian 2009-10-12  
主要是因为创建文件时,ere目录没有建立。

修改如下:

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
// 直接获取目录,则将会到web服务器默认的目录下去找父目录。比如这里的ere目录,如果使用的是
// tomcat服务器,则会到tomcat/bin/目录下去找ere目录,如果找不到则报错。

// 一般在web应用中,都是获得应用的根然后再,考虑建立文件存储目录
String webHome = request.getSession().getServletContext().getRealPath(
"/");
String realPath = webHome + "ere";

File dir = new File(realPath);
if (dir.isDirectory()) {
createFile(out,realPath,"abcd.txt");
}else{
dir.mkdir();
createFile(out,realPath,"abcd.txt");
}
out.flush();
out.close();
}
---


/**
* 功能:建立文件
* @param out
* @param realPath
* @param fileName
*/
private void createFile(PrintWriter out,String realPath,String fileName){

File file = new File(realPath, fileName);
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.print("abc:");
out.println(file.getAbsolutePath());


}

相关推荐

    javax.servlet-api-3.1.0-sources.zip

    下地址https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.1.0/ 各个版本都有 javax.servlet-api-3.1.0-sources.jar

    java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    2. **创建Servlet**:创建一个继承自HttpServlet的类,重写doPost方法,因为文件上传通常使用POST请求。 3. **解析请求**:使用Commons FileUpload库解析请求,获取上传的文件项。 4. **保存文件**:从文件项中获取...

    解决idea导入不了servlet类(1).docx

    ### 解决IDEA无法导入Servlet类问题详解 在Java Web开发过程中,经常需要用到Servlet技术来处理客户端请求。但在使用IntelliJ IDEA(简称IDEA)作为集成开发环境时,可能会遇到无法正常导入Servlet类的问题。本文将...

    servlet中使用smart实现上传和下载实例(解决中文名问题)

    在这个特定的实例中,我们利用Smart框架来实现文件的上传和下载功能,同时解决了中文文件名的问题。Smart是一个轻量级的Java Web框架,它简化了处理HTTP请求和响应的过程,特别适合于文件操作。 首先,我们需要理解...

    08.会员版(2.0)-就业课(2.0)-File类与IO流.zip

    Java编程语言中的File类和IO流是开发人员在处理数据输入和输出时不可或缺的工具。在"08.会员版(2.0)-就业课(2.0)-File类与IO流.zip"这个压缩包中,包含了一系列关于这两个主题的教程,旨在帮助初学者和有经验的...

    servlet_java_idea_demo.rar

    在本文中,我们将深入探讨如何使用IntelliJ IDEA(简称IDEA)和独立的Tomcat服务器从零开始构建一个Servlet项目。Servlet是Java Web开发中的核心组件,它允许我们处理HTTP请求并返回响应。让我们逐步了解这个过程。 ...

    Form表单上传文件(type="file")的使用

    下面将详细介绍Form表单上传文件(type="file")的使用,并解决中文乱码问题。 一、Form表单上传文件(type="file")的使用 Form表单上传文件(type="file")的使用需要在HTML页面中添加一个type="file"的input...

    Servlet详解.pdf

    - 在JSP页面中使用`<form>`标签提交表单数据到Servlet。 - 使用`<a>`标签或JavaScript发起AJAX请求调用Servlet。 #### 4. Servlet的共享变量 Servlet可以使用不同的方式实现数据共享,例如: - **ServletContext*...

    servlet配置文件说明[归类].pdf

    4. `<context-param>`:定义全局初始化参数,可供整个Web应用中的任何组件使用。 5. `<filter>`:定义一个过滤器,它实现了`javax.servlet.Filter`接口,用于在请求到达目标Servlet之前进行预处理,如数据校验、...

    servlet+commons-fileupload-1.1.1.jar上传文件源码

    总结,使用`commons-fileupload-1.1.1.jar`库和Servlet,我们可以轻松地在Java Web应用中实现文件上传功能。关键步骤包括:解析多部分请求,处理`FileItem`对象,以及将文件保存到服务器。同时,不要忘记考虑安全性...

    servlet+导jar包步骤.rar

    2. **配置Web模块**:在项目结构设置(File > Project Structure)中,找到"Facets",点击"+",添加"Web"。选择你的Web应用目录(通常为`src/main/webapp`),并指定Web-INF目录。 3. **添加外部库**:接着,我们来...

    基于jsp、servlet实现的学生信息管理系统.zip

    Java的File类和IO流提供了解决这类问题的工具。 8. 安全性考虑: 对于任何Web应用,安全性都是关键。系统可能采用了防止SQL注入、XSS攻击等措施,以及对敏感信息的加密处理。 9. 部署与运行: 项目部署通常需要...

    jsp+servlet实现文件上传与下载功能.docx

    if (file.exists()) { response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); FileInputStream...

    servlet配置文件说明[文].pdf

    14. `<taglib>`:指定JSP标签库的URI和TLD文件的位置,便于在JSP页面中使用自定义标签。 15. `<resource-env-ref>`和`<resource-ref>`:声明对资源的引用,如数据库连接池,允许应用通过JNDI查找这些资源。 16. `...

    增加servlet-api.jar和jsp-api.jar依赖(csdn)————程序.pdf

    现在,你可以在项目中使用Servlet和JSP的相关类和方法,IDE将能够正确地识别并提供代码补全等支持。 然而,需要注意的是,尽管这种方式可以让你的项目在开发环境中正常运行,但在部署到生产环境时,通常需要服务器...

    Servlet过滤器的使用.doc

    通过以上步骤,我们可以成功地在Servlet中使用过滤器。过滤器是一种非常强大的工具,能够帮助开发者轻松实现各种需求,同时保持代码的整洁和模块化。掌握过滤器的使用对于任何Java Web开发者来说都是非常重要的技能...

    SmartUpload在servlet中使用方法

    如果上传过程中出现问题,你可以通过检查`SmartUpload`的`isErrors()`方法来判断是否有错误,然后通过`getErrors()`获取错误列表。 ```java if (smartUpload.isErrors()) { List errors = smartUpload.getErrors()...

    servlet2.4doc

    Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. -------------------------------------------------------------------------------- G ...

    servlet实现文件上传下载

    在使用前,需要将此库的JAR文件添加到项目的类路径中。 以下是一个简单的文件上传Servlet示例: ```java import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload....

    使用servlet实例

    2. **创建Servlet类**:在Java中,Servlet是一个实现了`javax.servlet.Servlet`或`javax.servlet.http.HttpServlet`接口的类。通常我们继承`HttpServlet`,因为它专门处理HTTP请求。以下是一个简单的Servlet示例: ...

Global site tag (gtag.js) - Google Analytics