DataServlet.java:
package com.joyment.servlet; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @ClassName: DataServlet * @Description: 数据处理并显示 * @author chenzheng * @date 2014-9-12 下午05:43:49 */ public class DataServlet extends HttpServlet { /** * */ private static final long serialVersionUID = -380317075280232904L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("utf-8"); PrintWriter pw = null; //文本文件要放在tomcat下 String fileName = "share.txt"; String realPath = request.getSession().getServletContext().getRealPath(fileName); System.out.println(realPath); try { pw = response.getWriter(); } catch (Exception e) { e.printStackTrace(); } try { //解决中文乱码 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(realPath), "UTF-8")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); pw.println(line); } br.close(); } catch (FileNotFoundException e) { } catch (IOException e) { } pw.flush(); pw.close(); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>DataServlet</servlet-name> <servlet-class>com.joyment.servlet.DataServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DataServlet</servlet-name> <url-pattern>/DataServlet</url-pattern> </servlet-mapping> </web-app>
相关推荐
本教程将详细讲解如何使用Servlet读取XML文件来实现JSP的简单分页功能。分页是Web应用程序中常见的需求,它可以帮助用户更有效地浏览大量数据。下面我们将探讨以下几个关键知识点: 1. **Servlet基础**: Servlet...
4. **读取文件并输出**:使用Java的`java.io`包中的`FileInputStream`读取文件内容,然后通过`HttpServletResponse`的`getOutputStream()`方法获取输出流,将文件内容写入到这个输出流中。 5. **处理迅雷下载**:...
在本场景中,我们关注的是如何利用Servlet读取XML文件来实现JSP的分页功能。分页是一种优化用户体验的方式,尤其是在数据量庞大的情况下,它可以将大量数据分批次展示,避免一次性加载过多数据导致页面响应慢或资源...
4. 读取文件内容,将其写入到响应的输出流中。 5. 关闭文件和流,完成响应。 在JSP(JavaServer Pages)中,通常会用于创建用户界面,例如显示上传或下载文件的表单。JSP可以通过EL(Expression Language)和JSTL...
如果存在,就通过`FileReader`和`BufferedReader`逐行读取文件内容并输出到响应流中。 ### 2. Servlet写文件 Servlet写文件的过程与读取文件类似,只是将`FileReader`和`BufferedReader`替换为`FileWriter`和`...
文件下载需要生成一个HTTP响应,包含文件内容和适当的MIME类型。Servlet负责处理这个逻辑。 - **获取文件**:根据URL参数或请求路径,定位服务器上要下载的文件。 - **设置响应头**:设置`Content-Disposition`,...
使用`java.io`包中的类,如`FileInputStream`和`ServletOutputStream`,从服务器的文件系统读取文件内容,并将其写入到响应输出流中。这将把文件内容实际发送到客户端。 5. **配置Web应用** 将项目解压后,将其...
- **流操作**: 通过`ServletOutputStream`,将文件内容从文件系统读取并写入到HTTP响应中。重要的是保持流的平衡,确保所有数据都被正确发送。 - **断点续传**: 虽然这个例子可能没有涵盖,但高级功能如断点续传...
导出文件的核心是读取文件内容并将其写入到HTTP响应的输出流中。使用`InputStream`读取文件,`OutputStream`写入到响应流。这可以通过`ServletOutputStream`实现,它是`OutputStream`的子类,专门用于Servlet的响应...
在循环中,我们可以对每个`Part`对象进行处理,获取文件名、读取文件内容等。例如: ```java String fileName = part.getSubmittedFileName(); // 获取提交时的文件名 InputStream fileContent = part....
4. **读取并发送文件**:使用Java I/O流,Servlet从文件系统读取文件内容,并通过`ServletResponse`对象将数据发送到客户端。 5. **关闭资源**:在文件传输完成后,确保所有的输入/输出流都被正确关闭,释放系统...
3. **文件读取**:Servlet读取文件内容,并写入到响应流中。 4. **前端接收**:前端接收到响应,浏览器开始下载文件。 五、安全与优化 1. **文件名安全**:处理上传文件时,应确保文件名的安全,避免路径遍历攻击。...
- 最后通过`response.getOutputStream()`将文件内容输出到客户端。 6. **配置文件**: 在`web.xml`中配置了`FileDownLoadServlet`: ```xml <servlet> <servlet-name>fileDownLoadServlet</servlet-name> ...
- **读取文件内容并输出**:使用`BufferedInputStream`和`BufferedOutputStream`高效地读取文件内容,并将其输出到客户端。 #### 三、注意事项 - **安全问题**:在实际应用中,需要对用户提交的文件路径进行严格的...
文件内容可以通过Part的`getInputStream()`读取,然后保存到服务器的指定位置。 文件下载则相对简单。Servlet可以通过创建一个`HttpServletResponse`,设置响应头的`Content-Type`和`Content-Disposition`字段来...
### Servlet下载文件知识点详解...这包括设置正确的HTTP响应头、读取文件内容并通过输出流将其发送给客户端。此外,还需要注意编码、安全和兼容性等问题。这些知识点对于理解和实践基于Servlet的文件下载功能至关重要。
通过JavaServlet读取HttpRequest中的XML文件内容
4. **写入响应**:调用`HttpServletResponse`的`getOutputStream()`,将文件内容写入到输出流中。 5. **关闭资源**:确保在操作完成后关闭输入和输出流,避免资源泄漏。 ### 错误处理与优化 - **大小限制**:设置...
对于显示图片的Servlet,它们可能接收一个请求参数(如文件名),然后根据这个参数读取相应的图片文件,将内容转化为字节数组,最后设置响应状态码和内容类型,将字节数组写入响应。 7. **性能优化**: 为了提高...