`

jsp+servlet day1 (文件编码+文件下载)

 
阅读更多

1  通过servlet保证不乱码

    ① 首先设置response 字符缓冲区的编码  response.setCharacterEncoding("UTF-8"); 

    ② 然后设置浏览器打开文件的编码,也就是设置响应头  response.setHeader("Content-Type", "text/html;charset=UTF-8")

 

     要求两个编码相同,只有这样才能保证编码相同

     在servlet中,有一种简便的方式来进行设置。

     response.setContentType("text/html;charset=utf-8");

 

2  通过servlet实现文件的下载功能

   

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String path = getServletContext().getRealPath("/file/a.txt");
		response.setHeader("content-disposition", "attachment;filename=a.txt");
		System.out.println(path);
		InputStream is = new FileInputStream(path);
		OutputStream os = response.getOutputStream();
		byte[] a = new byte[1024];
		int len = 0;
		while((len = is.read(a))!=-1){
			os.write(a,0, len);
		}
		is.close();
		
	}

   首先设置相应头,设置响应头的目的就是可以让浏览器弹出一个下载框,创建文件读取流,读取路径中的文件。通过response获得输出流,切记,这个输出流不用关闭,又服务器来帮我们进行关闭

 

3  当把jsp页面放在web-inf里面的时候,我们只能通过转发进行访问,如果想要重定向进行访问的时候一定会报一个404的错误,

  servlet 转发:request.getRequestDispatcher("WEB-INF/jsp/Demo3.jsp").forward(request, response);

  servlet 重定向:response.sendRedirect();

 

4 jsp执行过程

 

 

                  1 首先 客户端发起request请求。

                  2 然后服务器加载这个jsp

                  3 生成相应的servlet文件

                  4 servlet从.java文件编译成 .class文件

                  5 服务器执行class文件,进行相应页面的展示。

 

 

 

  • 大小: 47.7 KB
分享到:
评论

相关推荐

    通用型Web文件上传JavaBean的实现

    在Java环境下,Servlet容器处理POST请求时,若发现请求编码为Multipart格式,会提供一个InputStream给应用处理。此时,一个设计良好的JavaBean可以封装这一过程,自动解析Multipart数据,分离出各个PostField,创建...

    jsp day1技术解析(servlet/jsp)课件下载

    ### JSP与Servlet技术解析 #### 一、概述 JSP (Java Server Pages) 是一种基于Java技术的服务器端脚本语言,它被用来创建动态网页。与传统的Servlet相比,JSP提供了更丰富的功能和更简便的方式来处理Web应用程序中...

    jsp day2 技术课件下载(servlet/jsp)

    根据提供的文件信息,我们可以归纳出以下关于 JSP (JavaServer Pages) 的关键技术知识点: ### 一、如何开发一个 JSP 文件 #### 1. JSP 文件格式:`XXX.jsp` - JSP 文件是一种混合了 HTML 和 Java 代码的文件。 - ...

    jsp解决上传文件下载办法

    本文将详细介绍如何使用JSP和Servlet技术实现文件的上传与下载。 #### 二、文件上传原理及实现 ##### 2.1 HTML表单设计 在实现文件上传之前,首先需要设计一个HTML表单来接收用户选择的文件。关键点在于表单的...

    传智播客黑马35期

    day22_文件上传与下载 day23_基础加强 day24_在线支付&JavaMail; day25_编码实战day01 day26_编码实战day02 day27_编码实战day02 day28_struts2基础 day29_struts2加强 day30_struts2拦截器&ognl;表达式 ...

    day08-HTTP&Tomcat&Servlet.zip

    在这个过程中,可能还会涉及一些相关的概念和技术,如URL编码、请求参数处理、响应头设置、会话管理、MVC设计模式、JSP和EL表达式等。通过深入理解和实践,开发者可以构建出功能丰富的、与用户交互的Web应用程序。 ...

    java_jsp_day03.pdf

    综上所述,Java JSP开发涵盖了一系列关键知识点,包括购物车的实现、URL重写以应对Cookie禁用情况、过滤器和监听器的设计与应用、以及文件上传功能的实现。这些知识点不仅对于初学者理解Web应用的架构至关重要,同时...

    JSP构成元素(课件)(适用于有一定软件基础的人员)

    - Page指令位于JSP页面的顶部,用于设置页面的各种属性,如指定使用的语言、编码、导入的包等。例如: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> ``` 2. **Include指令** - Include指令用于在JSP页面中...

    JavaWebDay10JSP

    JSP页面的本质是一个Servlet,由JSP引擎在首次请求时转换为Servlet,并编译成.class文件运行。这使得JSP能够动态地生成内容,根据用户请求进行不同的处理。 JSP的基本结构包括指令(Directives)、声明...

    web_day15pm_110601.zip

    这个文件可能包含了与购物车功能相关的JSP页面、JavaBean(用于封装业务逻辑)以及可能的配置文件。 综上所述,这个压缩包的内容可能涵盖以下几个关键知识点: 1. **JSP基本概念**:讲解JSP的语法结构,如何在页面...

    学习JavaEE的day25

    在Day25中,你可能接触到了JSP语法,比如脚本元素、指令元素和EL(Expression Language),以及如何在JSP页面中调用Servlet。 3. **MVC(Model-View-Controller)模式**:在JavaEE开发中,MVC是一种常见的设计模式...

    JSP课堂教授内容

    学习JSP不仅需要理解HTML和CSS,还需要掌握Java基础,以及Servlet和JSP的相关概念,如请求响应模型、生命周期、作用域等。在实际开发中,JSP通常与Java Servlets、MVC框架(如Spring MVC)以及各种Java Web容器(如...

    JavaWeb(上)——day02.zip

    这个"day02"项目可能是针对初学者的一个简单示例,包含了基础的Servlet和JSP交互,以及可能的MyEclipse项目设置和配置。通过学习和实践这个项目,开发者可以掌握JavaWeb开发的基本步骤和概念,为进一步深入学习打下...

    day12_javaweb_javascript_day12-xml_energy7fo_

    【标题】"day12_javaweb_javascript_day12-xml_energy7fo_" 提供的资源包主要涵盖了JavaWeb开发中的JavaScript和XML技术,是作者个人学习过程中的一个阶段性的总结,虽然标注为“day2”,但可以推测整个系列应该包含...

    学习JavaEE的day05

    1. **Servlet与JSP**: - Servlet是JavaEE中处理HTTP请求的核心组件,用于扩展服务器的功能,处理动态网页内容。学习Servlet,你需要理解生命周期、服务方法以及如何在web.xml中配置。 - JSP(JavaServer Pages)...

    JavaWeb崔希凡老师视频教程_day28-资料源码.zip

    在这一章节,崔老师可能会讲解如何创建Servlet类,实现doGet和doPost方法,以及如何在web.xml配置文件中注册Servlet。此外,他还可能讲解Servlet生命周期和多线程处理请求的概念。 其次,JSP(JavaServer Pages)也...

    崔希凡Javaweb视频教程_day24~day26-资料源码,完整版(网上书城或bookstore)

    在day24到day26的课程中,崔老师可能会讲解如何在Servlet中编写业务逻辑,以及如何在JSP中展示数据,实现前后端分离。 2. **MVC模式**:崔希凡可能讲解了Model-View-Controller架构模式,这是一种常用于Web开发的...

    java计算机课程毕业设计学习源代码day07.zip

    在Java编程中,HTML文件可以用于创建用户界面,尤其是在Web应用开发中,通过JavaServlet或JSP(JavaServer Pages)技术与服务器端的Java代码交互。 3. **.java 文件**: `NewWatch.java` 和 `Watch.java` 是未编译...

    方立勋JavaWeb视频前九天

    - **day05**至**day09**:逐步深入到更高级的主题,如过滤器、监听器、MVC模式、JDBC操作和文件上传下载。 通过以上分析,"方立勋JavaWeb视频前九天"的学习路径是从基础到进阶,逐步引导学员建立起完整的JavaWeb...

    JavaWeb综合笔试题.pdf

    本资源是关于Java Web的综合笔试题,涵盖了数据库、Linux、CSS、JSP、Servlet等多方面的知识点。 数据库 1. 在 Oracle 中,从学员表中查询学员的毕业时间,并按照年/月/日的格式输出,可以使用以下 SQL 语句: `...

Global site tag (gtag.js) - Google Analytics