第五章JSP中的文件操作

合集下载

用JSP实现拖拽上传文件和文件夹

用JSP实现拖拽上传文件和文件夹

用JSP实现拖拽上传文件和文件夹JSP(JavaServer Pages)是一种动态网页技术,允许将Java代码嵌入到HTML页面中。

拖拽上传文件和文件夹是一种常见的网页交互功能,可以使用JSP来实现。

在实现拖拽上传文件和文件夹功能之前,首先需要了解一下拖拽上传的基本原理。

在HTML中,可以通过Drag and Drop API来获取拖拽的文件和文件夹。

然后,可以使用JavaScript将拖拽的文件和文件夹发送到服务器端,服务器端可以使用JSP来处理这些文件和文件夹。

以下是一个基本的实现拖拽上传文件的JSP页面的示例:```htmlpageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>拖拽上传文件</title><script>function handleDrop(event)event.preventDefault(; // 禁止浏览器打开文件var files = event.dataTransfer.files;//遍历上传的文件for (var i = 0; i < files.length; i++)var file = files[i];// 创建FormData对象,用于发送文件到服务器var formData = new FormData(;formData.append("file", file);// 创建一个XMLHttpRequest对象,发送文件到服务器var xhr = new XMLHttpRequest(;xhr.open("POST", "upload.jsp", true);xhr.onreadystatechange = functioif (xhr.readyState == 4 && xhr.status == 200)//上传成功console.log(xhr.responseText);}};xhr.send(formData);}}</script></head><body ondragover="event.preventDefault(;"ondrop="handleDrop(event);"><h1>拖拽上传文件</h1><p>将文件拖拽到此处上传</p></body></html>```当文件被拖拽到页面的时候,`handleDrop(`函数会被调用。

jsp的功能

jsp的功能

jsp的功能JSP(JavaServer Pages)是一种用来开发动态Web页面的Java技术。

它可以将Java代码嵌入到HTML文档中,以实现更丰富的页面交互和动态数据展示功能。

以下是JSP的一些常见功能。

1. 动态页面生成:JSP可以根据用户请求,动态生成HTML页面,并将页面内容返回给浏览器。

这使得网页内容可以根据不同的条件和参数进行自适应的展示。

开发者可以在JSP中使用Java代码来处理用户请求,调用数据库、调用其他Java对象等。

2. 数据库访问:JSP可以直接连接数据库,并执行数据库操作。

通过使用Java的数据库连接API,JSP可以从数据库中查询、添加、修改和删除数据,然后将结果展示在Web页面上。

这可以实现数据的持久化和动态更新。

3. 表单处理:JSP可以处理用户提交的表单数据。

通过在JSP页面中定义HTML表单元素,并在表单的提交动作中指定JSP的URL,JSP可以接收表单数据,并对数据进行验证、处理和存储。

这些可以用来实现用户注册、登录、数据录入等功能。

4. 条件判断和循环:JSP支持使用Java的条件语句和循环语句。

这使得可以在JSP页面中根据不同的条件展示不同的内容,或者重复展示一段代码块。

通过使用if语句、switch语句和for循环等,可以实现更复杂的页面逻辑。

5. 页面重定向和转发:JSP可以将请求重定向到其他页面,或者将请求转发到另一个JSP或Servlet。

这使得可以在不同的页面之间进行跳转和协作,实现业务流程的分步处理。

6. 用户认证和会话管理:JSP提供了与用户认证和会话管理相关的内置对象。

通过这些对象,可以实现用户登录、注销、用户角色权限控制等功能。

同时,JSP还支持在页面级别和应用程序级别上进行会话管理。

7. 页面模板和复用:JSP支持使用页面模板和标签库进行页面复用。

可以将多个JSP页面中的公共部分抽取出来,形成一个模板文件,然后在其他JSP页面中引用该模板文件。

jsp教案

jsp教案

jsp教案JSP教案一、教学目标:1. 了解JSP的基本知识和使用方法。

2. 掌握JSP中的标签和表达式的使用。

3. 能够编写简单的JSP页面。

二、教学重难点:1. JSP的基本概念和工作原理。

2. JSP中的标签和表达式的使用。

三、教学过程:1. 导入教师可通过简单介绍HTML和Servlet的知识,引入JSP的概念。

2. 概念讲解(1)什么是JSP?JSP是JavaServer Pages的缩写,是一种用于开发动态Web页面的技术。

它将HTML和Java代码融合在一起,使得开发人员可以在页面中嵌入Java代码,动态生成页面内容。

(2)JSP的工作原理当客户端请求一个JSP页面时,Web服务器将请求转发给JSP 引擎。

JSP引擎先将JSP文件转化为Java Servlet,然后编译和执行这个Servlet,最终生成响应的HTML页面,再返回给客户端。

3. 标签和表达式(1)JSP中的标签标签是JSP中用于插入Java代码的标记。

常用的标签有:<% %>、<%= %>和<%! %>。

<% %>用于插入Java代码,它们中的代码在JSP页面执行时会被执行。

<%= %>用于输出Java代码的结果,将结果插入到页面中。

<%! %>用于定义全局成员变量或方法。

(2)JSP中的表达式表达式是JSP中用于计算值的语句。

表达式通常放在<%= %>标签中,用于计算变量或函数的值。

4. 编写简单的JSP页面(1)创建一个JSP文件,命名为hello.jsp。

(2)在JSP文件中编写HTML代码,包括一个标题和一个表单。

(3)在表单中插入一段JSP代码,用于处理用户输入的数据。

(4)保存并部署JSP文件,将其放置在Web服务器的指定目录下。

(5)在浏览器中访问JSP文件,观察页面效果。

四、教学策略:1. 解决问题在教学过程中,鼓励学生提问和解决问题,加深对JSP的理解。

5.1 JSP概述

5.1 JSP概述
第五章 JSP技术


5.1 5.2 5.3 5.4 5.5 5.6
JSP概述 JSP语法 JSP隐含对象 JSP中的Java Bean组件 JSP连接数据库 JSP应用实例
1
5.1 JSP 概述


1、JSP技术简介 2、JSP运行环境 3、JSP组成 4、JSP使用范围 5、JSP生命周期 6、JSP开发示例
3
1、JSP技术简介
(3) JSP有什么优点? JSP简化了Web动态内容的传输,可以让Web 网页开发人员和设计人员非常容易的创建和维 护动态网页。JSP(Java Server Page)的出现使网 页的设计与开发变得更为灵活。 JSP技术把用户界面的设计与实现从系统中分 离出来,使得网页设计人员能够在不改变底层 动态内容的前提下改变整个网页布局。 对客户端的要求很低,只要有浏览器即可。
19
6、JSP开发示例


<title>用于定义标题,显示在浏览器的顶端。 <body>定义文件的格式,并在其中书写正文。 <h1>为一级标题标记,将字体变粗变大加宽 , 程度与级数反比。 <h3>为三级标题标记,将字体变粗变大加宽。 <!--注解--> 注释,不会在浏览器中显示出来。 <p> 段落标记,用于分段。
18


6、JSP开发示例
(4) 注意事项 注意url地址中的jsp后缀不要忘了。 运行jsp程序无需事先编译。只要将jsp程序放 在正确的目录中,并启动服务器即可。 (5) JSP程序相关内容 例5-1中的html标记成对出现。例如,以<html> 开头,以</html>结尾。 <html>标记用于声明一个html文件。 <head>用于提供文件的整体说明信息。

第五章 javascript脚本语言

第五章 javascript脚本语言

第五章 javascript脚本语言
JavaScript的变量:
变量的主要功能就是用来存储数据。在JavaScript中,变
量通常使用var关键字来声明。同其他编程语言一样,
JavaScript对变量的命名也有一定的限制,它首先要求变量名 必须以字母开头,中间可以是任何字母、数字和下划线的组 合。其次变量名不能使用JavaScript语言本身所使用的关键字, 比如var、JavaScript、document等。
第五章 javascript脚本语言
实例5-4 条件语句的使用
一. 本例要求和目的 ★掌握JavaScript语言中的三种基本的条件语句的格式 ★会利用这三种基本条件语句来编写脚本。 二. 操作步骤
在记事本中输入如下源代码,
<HTML> <HEAD> <TITLE>案例5-4</TITLE> </HEAD> <语言
<script language=”JavaScript” <!— 在此编写Javascript代码。 //--〉 </script>
type=”text/javascript”>

第五章 javascript脚本语言
实例5-2通过链接文件引用外部脚本文件
一、本例要求和目的
第五章 javascript脚本语言
2.在网页使用SCRIPT标记符插入脚本程序的 方法
在网页中最常用的一种插入脚本的方式是使用Script标记符, 方法是:把脚本标记符<Script></Script>置于网页上的Head部 分或Body部分,然后在其中加入脚本程序。尽量可以在网页上 的多个位置使用Script标记符,但最好还是将脚本放在Head部 分,以确保容易维护。当然,由于某些脚本的作用是在网页特 定部分显示特殊效果,此时的脚本就会位于Body中的特定位置。 使用Script标记符时,一般同时用language属性和type属性 指出脚本的类型(未简便起见,也可以只使用其中的一种), 以适应不同的浏览器。如果要使用Javascript编写脚本,语法 如下:

(完整版)JSP说课课件

(完整版)JSP说课课件
网络编程、网站开发能力
主要内容
1 课程设置
2
教学内容
3 课程实施
4 教学资源
5 教学程序设计
6 教学效果
7 特色与改革
教学内容
这种基于工作任务的逆向 循环教学模式的思想是:
以模块为教学单位(模
块单元都是按工作任务划 分) ,每个模块单元分为
六个教学环节:提出工作 任务→引导解决问题→方 案点评→关键技术点,知 识点讲解→讲解其他知识 点→利用所学知识解决新 问题。从而完成一个“试 做→学→真做”循环。
4 南京德博科技有限公司
教学资源
软件环境
多种形式的师生交流渠道和互动平台已经通过网络实现 所有教学资源实现了上网
基本资源 电子教案 电子课件 课程教材 课后作业
项目资源 演示项目 拓展案例 模拟项目 实训项目 参考案例
2.教学资源
涂刚,男,硕士,副教授 计算机软件专业 专职教师
黄志艳,女,硕士,讲师 计算机软件专业 专职教师
学时 2 4 4 6 4 2 4 6 4
教学内容
教学重点、难点
重 点
难 点
JSP开发环境的创建
JSP基本语法、JSP指令和动作标记
JSP内置对象的使用
JavaBean的创建和使用 JSP文件操作 Servlet的创建、配置、使用 JSP数据库操作
及时巩固 反复练习 教、学、做
一体化
MVC设计思想的应用
主要内容
1 课程设置
2
教学内容
3 课程实施
4 教学资源
5 教学程序设计
6 教学效果
7 特色与改革
教学效果
❖ 学生作品
教学效果
❖ 学生考证
教学效果

如何运行jsp文件

进入test文件夹创建一个webinf文件夹里面可以是空的但必须有这个文件且文件名不可以错
如何运行 jsp文件
首先安装tomcat,安装完后在浏览器地址栏输入localhost:8080 出现tomcat的网页代表tomcat安装成功 然后找到tomcat的安装目录 进入webapps 新建一个文件夹,这里叫test 进入test文件夹,创建一个WEB-INF文件夹,里面可以是空的,但必须有这个文件,且文件名不可以错 然后写一个uage="java" pageEncoding="UTF-8" %> <html>
<body> <% out.print("欢迎来本系统"); %> <br>
</body> </html>
这里取名为hello.jsp 然后在浏览器地址栏输入localhost:8080/test/hello.jsp 就可以了

jsp实验1-11

软件工程系《JSP应用技术》实验指导书专业班级:软件11-1、2指导教师:朱亚玲实验一 JSP开发环境的搭建一、实验目的1.熟练掌握Tomcat服务器的安装与配置,为后续实验做好准备工作;2.掌握Web服务目录的设置;3.熟练掌握Web服务目录下JSP页面的访问;4.掌握Tomcat服务器端口号的修改。

二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.Tomcat服务器的安装与配置;(1)下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。

(2)下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\。

2.Web服务目录的设置;(1)在D:\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web 服务目录指定名字为friend的虚拟目录。

打开Tomcat目录中conf文件夹里的文件,找到出现</Host>的部分。

然后在</Host>的前面加入:<Context path=" " docBase=" " debug=0 reloadable="true" /> (2)修改端口号为9999。

在文件中找到修改端口号部分,默认端口修改为9999。

(3)启动Tomcat服务器。

如果已经启动,应该,并重新启动。

3.JSP页面的访问;(1)使用“记事本”编写一个简单的JSP页面,文件名用自己的姓名拼音命名(如张三:zhangSan.jsp),文件名是,并保存到Web服务目录student中。

(2)打开上一步建立的JSP页面进行编辑,使其页面运行起来时显示你的专业、班级、学号,姓名。

(3)在浏览器的地址栏中输入Tomcat服务器的IP地址和端口号,并通过虚拟目录friend访问Web服务目录student中第2步编辑后的JSP页面,访问路径是:。

chap5_JSP中的文件操作

3
File类
File类的对象主要用来获取文件本身的一些 信息,例如文件所在的目录、文件的长度、 文件读写权限等,不涉及对文件的读写操作, 主要操作包括获取文件属性和管理目录 File对象的构造方法: File(String filename); File(String directoryPath, String filename ); File(File f, String filename);

11
FlieOutputStream类
构造函数: FileOutputStream(String name); FileOutputStream(File file); 参数name和file指定的文件称为输出流的目的地,通 过向输出流写入数据把信息送往目的地 一般是在try-catch语句的try块部分创建输出流对象, 在catch(捕获)部分检测并处理这个异常 void write(byte b[]); void write(byte b[], int off, int len);
17
RandomAccessFile类



RandomAccessFile流的指向既可以作为源,也可以 作为目的地 当需要对一个文件进行读写操作时,可以创建一个指 向该文件的RandomAccessFile流,这样既可以读也 可以写 RandomAccessFile(String name, String mode) RandomAccessFile(File file, String mode) 参数mode取r或rw,决定对流文件的访问权限 方法seek(long a)用来移动RandomAccessFile流指 向的文件的指针,参数a确定文件指针距离文件开头的 字节位置 方法getFilePointer()可以获取当前文件指针的位置

Jsp详解

Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP这门技术的最大的特点在于,写jsp就像在写html,但:它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。

不管是JSP还是Servlet,虽然都可以用于开发动态web资源。

但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。

其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。

让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。

因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

Jsp的运行原理:目标:Web服务器是如何调用并执行一个jsp页面的?Jsp页面中的html排版标签是如何被发送到客户端的?Jsp页面中的java代码服务器是如何执行的?Web服务器在调用jsp时,会给jsp提供一些什么java对象?思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} %>
中国网页设计 中国网页设计
增强: 增强:防止文件重名被覆盖的解决方法 repeat_upload.jsp
<%@ page contentType="text/html; charset=gb2312" import="com.jspsmart.upload.SmartUpload,java.util.*,java. text.SimpleDateFormat" %>
Java Web开发技术 开发技术
中国网页设计: /
第5章 章 JSP中的文件操作 中的文件操作
中国网页设计 中国网页设计
第5章 JSP中的文件操作 章
JSP通过Java的输入/ JSP通过Java的输入/输出流来实现文件的读写 通过Java的输入 操作。 操作。 中国网页设计:/
中国网页设计 中国网页设计
改进:只能上传图片格式文件 改进:只能上传图片格式文件image_upload.jsp
<% SmartUpload su = new SmartUpload();
su.initialize(pageContext); // 上传初始化
try{ // 设定允许上传的文件(通过扩展名限制) su.setAllowedFilesList("jpg,png,gif,bmp");Βιβλιοθήκη 中国网页设计 中国网页设计
调用计数器页面
<jsp:include page="count.jsp" /> 欢迎访问本站,这是本网站的首页<BR> 您是第 <%=(String)session.getAttribute("count")%> 个访问本网站的客户。
中国网页设计 中国网页设计
中国网页设计 中国网页设计
实现同一用户多次访问计数器只加一次
<% String str=(String)session.getAttribute("count"); if(str==null) { countPeople(); String personCount=String.valueOf(number); session.setAttribute("count",personCount); } %>
中国网页设计 中国网页设计
实例1:计数器 实例 :计数器count.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %> <%! int number=0; File file=new File("countNumber.txt") ; synchronized void countPeople()//计算访问次 数的同步方法 { if(!file.exists()) { number++;
中国网页设计 中国网页设计
/* DataInputStream和DataOutputStream可提供一些 和 可提供一些
基本数据类型像int、 对Java基本数据类型像 、double和boolean等的 基本数据类型像 和 等的 读写方法。 读写方法。 什么时候用? 什么时候用? 有时只是要存储一个对象的成员数据 只是要存储一个对象的成员数据, 有时只是要存储一个对象的成员数据,而不是整个对象 的信息,成员数据的类型又是Java的基本数据类型,这 的基本数据类型, 的信息,成员数据的类型又是 的基本数据类型 样就可以使用DataInputStream、DataOutputStream 样就可以使用 、 来方便的写入或读出数据。 来方便的写入或读出数据。 */
中国网页设计 中国网页设计
enctype=“multipart/form-data” “ ”
表单中enctype=“multipart/form-data”的意思,是设 置表单的MIME编码。默认情况,这个编码格式是 application/x-www-form-urlencoded,不能用于文件上 传;只有设置为multipart/form-data,才能完整的传递 文件数据
<form method="post" action="new_upload.jsp" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" name="Submit" value="上传"> </form>
中国网页设计 中国网页设计
FileOutputStream out=new FileOutputStream(file); DataOutputStream dataOut=new DataOutputStream(out); dataOut.writeInt(number); out.close(); dataOut.close(); } catch(IOException ee){} } } %>
中国网页设计 中国网页设计
改进:一次可以上传多个文件 改进:一次可以上传多个文件upload.html
中国网页设计 中国网页设计
do_upload.jsp
<% SmartUpload su = new SmartUpload(); su.initialize(pageContext); // 上传初始化 su.upload(); // 上传文件 int count = su.save("/upload"); out.println(count+"个文件上传成功! <br>");
su.upload(); // 上传文件
su.save(“/upload”); // 设置保存目录 }
中国网页设计 中国网页设计
catch (Exception e){ %> <script language=javascript> alert("只允许上传.jpg/.gif/.png/.bmp类型图片文件"); window.location='upload_image.html'; </script> <% }
中国网页设计 中国网页设计
逐一提取上传文件信息
for (int i=0;i<su.getFiles().getCount();i++){ com.jspsmart.upload.File file = su.getFiles().getFile(i); if (file.isMissing()) continue; // 若文件不存在则继续 out.println("文件长度:" + file.getSize() + "<br />"); out.println("文件名:" + file.getFileName() + "<br />"); out.println("文件扩展名:" +file.getFileExt()); out.print(“<br>----------------<br>");
中国网页设计 中国网页设计
else{ out.println("你上传的图片是:<img src='upload/"+file.getFileName()+"' >"); } }catch (Exception e){ out.print(e.toString()); } %>
<% SmartUpload su = new SmartUpload(); su.initialize(pageContext); su.upload();
中国网页设计 中国网页设计
中国网页设计:/
else{ try{ FileInputStream in=new FileInputStream(file); DataInputStream dataIn=new DataInputStream(in); number=dataIn.readInt(); number++; in.close(); dataIn.close();
中国网页设计 中国网页设计
try{//创建File类的对象以获取上传文件的信息 com.jspsmart.upload.File file = su.getFiles().getFile(0); if (file.isMissing()){%> < script language=javascript> alert("请先选择要上传的文件"); window.location='upload_image.html'; </script> <%}
中国网页设计 中国网页设计
new_upload.jsp
<%@ page contentType="text/html; charset=gb2312" import="com.jspsmart.upload.SmartUpload" %> <% // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); su.initialize(pageContext); // 上传初始化 su.upload(); // 准备上传文件 // 将上传文件全部保存到指定目录 su.save("/upload"); out.print("文件上传成功 文件上传成功<br>"); 文件上传成功
相关文档
最新文档