当前位置:文档之家› 通过代码示例跟我学J2EE JSP组件技术及应用实例(第4部分)

通过代码示例跟我学J2EE JSP组件技术及应用实例(第4部分)

通过代码示例跟我学J2EE JSP组件技术及应用实例(第4部分)
通过代码示例跟我学J2EE JSP组件技术及应用实例(第4部分)

目录

1.1通过代码示例跟我学J2EE JSP组件技术及应用实例(第4部分) (2)

1.1.1体验JSP中的静态包含和动态包含之间的差别 (2)

1.1.2体验JSP中的的功能 (6)

1.1.3体验JSP中的对象属性访问的动作标签的应用 (10)

1.1.4体验JSP中的标签的用途 (13)

1.1.5本章的课后作业 (16)

1.1通过代码示例跟我学J2EE JSP组件技术及应用实例(第4部分)

1.1.1体验JSP中的静态包含和动态包含之间的差别

1、

动作元素用于在当前JSP页面中包含一个静态的或者动态的资源,运行效率略低于<%@include%>指令,但是可以动态增加内容,动作元素格式如下。

"} flush="true" />

或者

"} flush="true">

其中:

1)page={"URL" | "<%= expression %>"}为相对路径,或者代表相对路径的表达式。

2)flush="true"。如果为true,缓冲区满时,将会被清空。flush 的默认值为false。

2、将前面的authorInfo.jsp、navMenuBar.jsp和pageHead.jsp改变为独立的页面

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

页头


注意在页面中正确地引用CSS文件。

3、在index.jsp中采用动作标签进行包含——当JSP页面被请求时引入指定文件

原来的页面完整的内容

4、测试效果——http://127.0.0.1:8080/webcrm/index.jsp

5、理解动作标签的包含是“结果的合并”而不是“内容的包含”

其中出现有多个不同的独立页面的标签

6、对其他的页面如userLogin.jsp 、userRegister.jsp也进行“包装”

(1)userLogin.jsp页面的内容

<%@ page pageEncoding="GB18030" %>

<%@ page import="java.util.Date" %>

<%@ page language="java" %>

蓝梦集团CRM系统中的登录页面

蓝梦集团CRM系统中的登录页面,用户再在此加表单

(2)执行后如果出现页面中的图片错误,可能是被包含文件中的图片等定位问题

(3)正确地定位图片文件

(4)用户注册页面内容

7、其中的文件名也可以是由变量定义

<%!

String fileName="/userManage/HeHtml.jsp";

%>

1.1.2体验JSP中的的功能

1、利用JavaBean实现可重用的Java代码

(1)创建JavaBean组件的对象实例

为了减少页面中的脚本的代码量,可以包装到JavaBean组件类中,而采用动作标签创建它的对象实例,从而访问其中的方法。

动作标签需要id 属性来定义该对象和class属性指定它的Java类名称,另一个是scope 属性——该对象在当前页面有效(scope="page")、为一个被请求的网页(scope="request")、会话期(scope="session")、或为整个Web应用程序(scope="application")等形式。

如果要使用一个已经创建好的Bean,那么这个ID的变量名必须与原来的ID变量名一致;如果目标Bean对象已经被创建出,动作标签将不会被重复执行而导致重复地创建出Bean对象实例。

(2)正确地设置为session作用域对象

如果Bean的scope属性定义为session,Bean实例作用于整个session生命周期。但需要在创建该Bean的JSP文件中的<%@page%>指令中必须指定session=true,否则会导致致命错误发生。

此时可以在另一个页面中使用session对象访问该Bean,比如:session.getAttribute(name);

2、创建标准(JDK)类的对象

(1)采用new语句——声明标准的对象(JDK)

<%!

Date oneDate=new Date();

public String getTodayDate(){

return oneDate.toString();

}

%>

采用脚本定义对象输出的现在的时间是:<%= getTodayDate() %>

(2)采用动作标签

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

修改用户信息

采用动作标签输出的现在的时间是:<%= otherDate.toString() %>

测试一下:http://127.0.0.1:8080/webcrm/userManage/updateUserInfo.jsp

(3)作用域解释

1)application:服务器启动到停止的这段时间

2)session:HTTP会发开始到结束的这段时间

3)request:HTTP请求开始到结束的这段时间

4)page:当前页面从打开到关闭这段时间

3、也可以声明用户自己定义的类对象

(1)在项目中添加一个类名称为UserInfoActionForm,包名称为com.px1987.webcrm.actionform类

(2)添加下面的成员属性变量、并提供get/set方法String userName=null;

String userPassWord=null;

(3)最终的代码

package com.px1987.webcrm.actionform;

public class UserInfoActionForm {

String userName=null;

String userPassWord=null;

public UserInfoActionForm() {

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

https://www.doczj.com/doc/c617061919.html,erName = userName;

}

public String getUserPassWord() {

return userPassWord;

}

public void setUserPassWord(String userPassWord) { https://www.doczj.com/doc/c617061919.html,erPassWord = userPassWord;

}

}

(4)在页面中利用标签创建该类的对象实例

scope="page" />

等同于下面的效果

<%

https://www.doczj.com/doc/c617061919.html,erInfoActionForm oneUserInfo=

new https://www.doczj.com/doc/c617061919.html,erInfoActionForm(); %>

1.1.3体验JSP中的对象属性访问的动作标签的应用

1、标签

(1)在页面中定义一个变量

<%!

String userNameString="yang";

%>

(2)采用脚本代码进行赋值操作

<%!

String userNameString="yang";

%>

<%

oneUserInfo.setUserName(userNameString);

String userNameValue=oneUserInfo.getUserName();

out.print("采用脚本语句输出的userName的值是:"+userNameValue+"
");

%>

(3)采用setProperty和getProperty动作标签——利用value属性,value可以是字符串,也可以是表达式。

value="<%=userNameString %>" />

采用动作标签输出的userName的值是:

(4)测试一下http://127.0.0.1:8080/webcrm/userManage/updateUserInfo.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

scope="page" />

修改用户信息

<%!

String userNameString="yang";

%>

<%

oneUserInfo.setUserName(userNameString);

String userNameValue=oneUserInfo.getUserName();

out.print("采用脚本语句输出的userName的值是:"+userNameValue+"
");

%>

采用动作标签输出的userName的值是:

2、应用标签中的param属性

(1)param属性指示的目标变量为请求参数——用户提交的参数

(2)修改上面的标签

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

scope="page" />

修改用户信息

采用param属性输出的userName的值是:

(3)此时在执行该页面时需要提供一个名称为userNameInRequest的请求参数(中的参数由param参数指定)

如果没有提供请求的参数,则为null。比如:

http://127.0.0.1:8080/webcrm/userManage/updateUserInfo.jsp

而如果采用下面:

http://127.0.0.1:8080/webcrm/userManage/updateUserInfo.jsp?userNameInRequest=admin

(4)此时可以动态地赋值

3、property="*"的应用实例

这是一种设置Bean属性的快捷方式。使用该方式,在Bean中的属性的名称、类型必须和request对象中的参数名称和类型匹配——适用于Bean的属性名称与request对象的名称一致的情况。由于从表单传过来的数据类型都是String类型的,JSP内在机制会把这些参数转化成Bean属性对应的类型。

如果request对象的参数中有空值,或者Bean中有一个属性在request对象中没有对应的参数,那么这个属性值将不会被修改。

1.1.4体验JSP中的标签的用途

1、明确请求转发(一次请求)和请求的重定向(二次请求)

其中标签实现请求转发——用来将客户端所发送的请求,从一个JSP 页面转发到另一个JSP页面、Servlet或者静态资源文件,请求被转向到的资源必须位于发送请求的JSP页面相同的上下文环境之中。

动作元素的语法格式如下。

"} />

"} >

page的值既可以是一个相对路径,即所要重新导向的页面位置,也可以是经过表达式运算出的相对路径,它用于说明将要转向的文件或URL。

2、利用请求转发实现隐藏系统中的真正的首页

(1)将系统中的真正的首页移到到某个子目录中

(2)在站点的根目录放一个空的index.jsp页面

在该页面中加一个标签

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

正在连接服务器,请等待。。。

(3)对index.jsp的首页执行后的结果如下——实际跳转到真正的首页

http://127.0.0.1:8080/webcrm/index.jsp

(4)为标签的目标页面提供请求参数

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

正在连接服务器,请等待。。。

动作元素被用来以"名-值(name-value)"对的形式为其他动作提供附加信息,它一般与动作元素配合使用,用于向这些动作元素传

递参数。

3、注意标签之后的程序将不能被执行

每当遇到此动作时,就停止当前JSP页面的执行,转而执行被转发的资源。需要特别注意的是,当前页面的标签之后的程序将不能被执行。

1.1.5本章的课后作业

1、J2EE的含义是什么?

2、三层构架中一般有哪三层?

3、Java和https://www.doczj.com/doc/c617061919.html,在中间业务层的实现技术有什么不同

4、Java和https://www.doczj.com/doc/c617061919.html,在数据访问层的实现技术有什么不同

5、请解释JSP(Java Server Page)的含义

6、请描述JSP的工作原理

7、在JSP中支持哪些形式的注释方式

8、请描述page指令和include指令的主要功能是什么

9、请描述JSP中的动作标签的含义

10、请描述动作标签的功能含义

11、在Web站点内的WEB-NF/classes目录一般存放什么程序?而在WEB-NF/lib目录中一般存放什么程序?

12、在Web站点内的WEB-NF目录内的web.xml起什么作用?

JSP上传图片到数据库的例子

现在想写个程序 向数据库中插入图片路径(或则插入图片也可以) 最好是插入图片的路径这样可插入任意大的图片... 请高手指点一下思路.. 感激不尽 1.通过显示层向数据库中插入图片 2.在界面显示的时候是小图片(缩小过的) 3.当点击查看大图片会显示图片(原来的大小) 提供给你图片上传和显示的代码吧!希望对你有帮助 我在程序代码里贴了向Mysql数据库写入image代码的程序,可是好多人都是Java的初学者,对于这段代码,他们无法将它转换成jsp,所以我在这在写一下用jsp怎样向数据库写入图像文件。大家先在数据库建这样一张表,我下面的这些代码对任何数据库都通用,只要支持blob类型的 只要大家将连接数据库的参数改一下就可以了。 SQL> create table image(id int,content varchar(200),image blob); 如果在sqlserver2000的数据库中,可以将blob字段换为image类型,这在SqlServer2000中是新增的。 testimage.html文件内容如下: Image File



我们在Form的action里定义了一个动作testimage.jsp,它的内容如下: <%@ page contentType= "text/html;charset=gb2312 "%> <%@ page import= "java.sql.* " %> <%@ page import= "java.util.* "%> <%@ page import= "java.text.* "%> <%@ page import= "java.io.* "%>

用JSP实现个人网页中数据库图片的存储与显文献综述

新疆农业大学 专业文献综述 题目: 用JSP实现个人网页中数据库图片的存储与显 示 姓名: 刘王兵 学院: 计算机与信息工程学院 专业: 信息管理与信息系统 班级: 042 学号: 044631257 指导教师: 李萍职称:讲师 2007年12月10日 新疆农业大学教务处制

用JSP实现个人网页中数据库图片的存储与显示 作者:刘王兵指导教师:李萍 摘要:数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示。通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。但是,如果我们想动态的显示图片,上述方法就不能满足需要了。我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示。 关键词:jsp;Web;个人网页;图片存储;图片显示; The Literature Summary of Making the Human Resources Homepage of the Class Student Liuwangbing Guide the teacher Liping Abstract:Along with the network technology development and the quantity of the network user increase, more and more people take own first choice way to seek employment on-line, meantime the enterprise also relies on the network to gather the talented person. This article through to analysis the human resources homepage, as well as introduction and analysis the current several kind of popular WEB development technology, to used https://www.doczj.com/doc/c617061919.html, to description the function, which the human resources homepage have as well as realized. Key words:https://www.doczj.com/doc/c617061919.html,;Web;Human Resources;Homepage Manufacture 前言:随着计算机互联网技术的飞速发展,WEB技术由原来的静态文档(纯HTML页面)发展到目前的多种web编程语言争夺互联网市场。页面内容由原来单一的文字发展到现在多媒体技术在网站开发中得到了充份利用。多媒体技术在网站开发中的应用是通过把文字、图片、视频、音频等元素巧妙的组合成为一个模块嵌入到网页当中。给浏览者以视觉、听觉的冲击,使以留下更加深刻的印像。而图片在网页当的作用想必仅次于文字,以成为页面当中不可缺少的一部分。大量的图片在网页当中被使用,开发人员从而不得不考虑其在服务器当中的存储及在页面当中更好的显示的问题。 正文: 1 网页当中图片存储与显示技术分析 1.1 图片的存储与在网页中的显示概况 JSP是目前使用十分广泛的网站开发技术,而图像是网站中不可缺少的一部分。在JSP 动态网站设计中,图像数据的处理一般有两种方式:一是对于相对较小的图像,可以用二进制流的方式直接保存到数据库表中,在需要时读出。对于大图像,这种方式读写数据占用的时间较长。但是对于相对较大的图像文件,把图像文件保存到一个文件夹中,文件名保存到数据表中,在需要时进行显示。本文通过个人网页方式讨论了在使用JSP开发动态网站过程中图像在数据库中的存储与显示的解决方案。 1.2 网页中图片的存储方式分类

jsp 图片上传功能实现原创

package com.lsl.util; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; /** * * @author Administrator * 图像处理类 */ public class PicCompression { /** * 压缩图片方法 * * @param oldFile * 将要压缩的图片的绝对地址 * @param width * 压缩宽 * @param height * 压缩长 * @param quality * 压缩清晰度建议为1.0 * @param smallIcon * 压缩图片后,添加的扩展名 * @return */ public String zoom(String oldFile, int width, int height, float quality) { if (oldFile == null) { return null; } String newImage = null; try { File file = new File(oldFile);

JSP中上传图片 完整代码

upfile.jsp

uploadimage.jsp uploadimage.jsp
 <%@ page language="java" pageEncoding="gb2312"%> <%@ page import="java.io.*,java.awt.image.*,com.sun.image.codec.jpeg.*,jav a.sql.*,com.jspsmart.upload.*,java.util.*"%> <%@ page import="mainClass.*"%>   My JSP'uploadimage.jsp' starting page   <% S martUpload sma = new SmartUpload(); l ong file_max_size = 4000000; S tring filename1 = "", ext = "", testvar = ""; S tring url = "uploadfiles/"; s ma.initialize(pageContext); t ry { sma.setAllowedFilesList("jpg,gif"); sma.upload(); }catch (Exception e) { %>

JSP文件上传-二进制流详解

JSP文件上传 一、先做选择上传文件页面chose.jsp,比较简单。 代码如下: 关键代码是:

选择文件后的上传由upfile.jsp网页来处理;整个表单内容以post方式传递;表单中包含的所有内容,包括文件都会以enctype="multipart/form-data"二进制形式传给服务器。 注意JSP网页里不同的编码形式声明: charset=gb2312表示网页中包含的内容(比如文件)以简体中文编码; pageEncoding="UTF-8"表示JSP网页源代码本身是UTF-8编码。 因为表单form的内容会以二进制形式传到服务器,就必须用

charset=gb2312指定这个二进制是以中文简体来编码的,这样传上去以后真正处理上传和存储的upfile.jsp页才能看懂识别中文文件名! 选择文件页面比较简单,关键是编码的申明,必须说清楚,不然到时候中文文件名就会乱码。 二、upfile.jsp页用来接收和处理以二进制形式传给服务器的数据流。 1、二进制数据流的基本信息。 还是用request对象帮我们取从客户端传过来的各种信息,先取二进制数据流的整体长度,就是传过来文件的大小了,单位是字节。 int formDataLength = request.getContentLength(); 我们可以设置能接收的最大文件大小,比如下面,就是10M。 int MAX_SIZE = 10*1024*1024; 再取传过来的二进制数据流类型,不知道里面是什么鬼? String contentType = request.getContentType(); 不要紧,我们打出来看看就知道了,out.print编程时非常有用,随时打出来瞅瞅。 out.print(contentType);会看到下面这个: 主要就是要后面的这个东西 一个表单form可能选了多个文件,全部在一个二进制数据流里面一起传过来,那么文件数据之间都用这个间隔boundary隔开的。通过它才可以在二进制数据流中找到一个文件的开始和结束位置,从而将文件数据正确取出并保存到服务器里。 一个字节的位置错误都会造成文件保存出错!所以文件保存的最关键就是要找准位置,错一个字节都不行。

java实现图片或文件的上传功能实现代码

java实现图片或文件的上传功能具体思路及代码 一、思路 文件是如何从本地发送到服务器的呢? 首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源。 然后,在WebRoot目录下新建一个jsp文件,主要实现的作用就是选择上传的文件,提交至servlet来进行处理 详细代码如下:一个form将文件信息通过post方式传送到指定的servlet 二、代码 复制代码代码如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> "> My JSP 'upload.jsp' starting page 请选择上传的图片或文件:

ssh框架中jsp上传图片功能的实现

jspsmart的使用 上传 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 上传初始化 su.initialize(pageContext); // 限制每个上传文件的最大长度。 su.setMaxFileSize(10000); // 限制总上传数据的长度。 su.setTotalMaxFileSize(20000); // 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 su.setAllowedFilesList("doc,txt"); // 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, //jsp,htm,html扩展名的文件和没有扩展名的文件。 su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); // 上传文件 su.upload(); // 将上传文件全部保存到指定目录 int count = su.save("/upload"); 下载 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 初始化 su.initialize(pageContext); // 设定contentDisposition为null以禁止浏览器自动打开文件, //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为 //doc时,浏览器将自动用word打开它。扩展名为pdf时, //浏览器将用acrobat打开。 su.setContentDisposition(null); // 下载文件 su.downloadFile("/upload/test.doc"); 应用实例: uploadimage.jsp <%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.js psmart.upload.*,java.util.*"%> <%

java图片上传并预览,前台用jQuery插件AjaxFileUpload,后台用FileUtils.copyFile.

本文由我司收集整编,推荐下载,如有疑问,请与我司联系java 图片上传并预览,前台用jQuery 插件AjaxFileUpload,后台用 FileUtils.copyFile. 2015/01/05 0 个人笔记,以备后用. 表体代码: td colspan= 3 s:file label= 上传name= uploadFile id= uploadNumFile onchange= fileUpload( uploadNumFile , goodsRecordDtl_goodsPicture , goodsPicture_img ) / a href= # title= 查看quot;viewPic( viewPicture1 , goodsPicture , goodsRecordDtl_goodsPicture 查看图片/a div id= viewPicture1 title= 图片预览> img id= goodsPicture src= /div /td js 代码(记得要引入jquery 库和ajaxfileupload 库): //上传文件id 号function fileUpload(uploadFileId,filePathId,imgId){ var imp= document.getElementById(uploadFileId); if(imp==null ||imp== ||imp== undefined){ alert( 请选择文件return; } $.ajaxFileUpload({ url:ct + uploadFile.do , secureuri:false, fileElementId:uploadFileId, dataType: multipart/form-data , success: function (data, status){ var json = eval( ( + data + ) if(json.msg== 1 ){ alert( 上传成功$( # +filePathId).val(json.path); $( # +imgId).attr( src ,eTrade.ctx+ /upload/ +json.path); }else{ alert( 文件上传失败} }, error: function (data, status, e){ alert(e); } }); } function viewPic(dialogId,imgId,fileId){ $( # +dialogId).dialog({ height: 350, width: 600, buttons: { 取消: function() { $( # +imgId).attr( src , $(this).dialog( close } }, close:function(){ $( # +imgId).attr( src , } }); if($( # +fileId).val()== ){ return; } $( # +imgId).attr( src ,ct+ /toView.do?attachment= +$( # +fileId).val()); } 后台代码(uploadFile 命名必须与前台name= uploadFile 一致): private File uploadFile; public File getUploadFile() { return uploadFile; } public void setUploadFile(File uploadFile) { this.uploadFile = uploadFile; } @Action(value = uploadFile , results = { @Result(name = success , type = json , params = { ignoreHierarchy , false , contentType , text/html , root , dataMap }) }) public String

jsp图片上传(commons-fileupload组件)

1.开发环境: 1)eclipse3.2+tomcat5.5; 2)创建dynamic web project; 3)下载: Commons FileUpload 可以在https://www.doczj.com/doc/c617061919.html,/commons/fileupload/下载 附加的Commons IO 可以在https://www.doczj.com/doc/c617061919.html,/commons/io/下载 将commons-fileupload-1.2.1.jar commons-io-1.4.jar拷贝到WebContent\WEB-INF\\lib 目录; 2.前台: <;form method=";post"; enctype=";multipart/form-data"; action=";upload.jsp"; target=";_blank";>; <;%-- 类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传--%>; <;table>; <;tr>;<;td>;作品:<;input type=";file"; name=";upfile"; size=";50";>;<;/td>;<;/tr>; <;tr>;<;td>;作者:<;input type=";text"; name=";author"; size=";22";>; 标题:<;input type=";text"; name=";title"; size=";22";>; <;input type=";submit"; name=";submit"; value=";上传";>;<;/td>;<;/tr>; <;tr>;<;td>;备注:上传的jpg图片(显示扩展名为.jpg)大小不能超过4M!<;/td>;<;/tr>; <;/table>; <;/form>; 3.后台: 1)引用: <;%@ page import=";https://www.doczj.com/doc/c617061919.html,mons.fileupload.servlet.ServletFileUpload";%>; <;%@ page import=";https://www.doczj.com/doc/c617061919.html,mons.fileupload.disk.DiskFileItemFactory";%>; <;%@ page import=";https://www.doczj.com/doc/c617061919.html,mons.fileupload.*";%>; 2)代码: String id=null;//上传记录id String destinationfileName=null;//目标文件名 String author=null; String title=null; int flag=0;//上传标志 String uploadPath =request.getSession().getServletContext().getRealPath(";/";)+";upload/";;//图片上传路径 String tempPath = request.getSession().getServletContext().getRealPath(";/";)+";upload/temp/";;//图片临时上传路径 String imagePath=request.getScheme()+";://";+request.getServerName()+";:";+request.getS erverPort()+request.getContextPath()+";/";; // 图片网络相对路径

jsp实现文件上传和下载

1 JSP文件上传简单实例 1、index.html代码: 上传图片

2、使用到的函数和类说明 File类文件和目录路径名的抽象表示形式, File(parent,child)方法根据parent 抽象路径名和child 路径名字符串创建一个新File实例FileOutputStream文件输出流,InputStream输入流,将输入数据看成一根管道,可以形象的将输入流比喻成管道的入口,而输出流比喻成管道的出口。 read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。read() 从此输入流中读取一个数据字节。 write(int b) 将指定字节写入此文件输出流,write(byte[] b, int off, int len) 将指定字节数组中从偏移量off 开始的len 个字节写入此文件输出流。write(byte[] b) 将 b.length 个字节从指定字节数组写入此文件输出流中 Random.readLine()逐行读入,Random.seek(int pos)设置到此文件开头测量到的文件指针偏移量,该位置发生下一个读取和写入操作,Random.getFilePointer()返回此文件当前偏移量,Random.readByte()此方法从该文件的当前文件指针开始读取第一个字节。 https://www.doczj.com/doc/c617061919.html,stIndexOf(char c)返回最后一次出现的指定字符在此字符串中的索引 3、do_upload.jsp <%@ page contentType="text/html;charset=gb2312" language="java"%> <%@ page import="java.io.*"%> 上传 <% try{ String temp=(String)session.getId();//获得sessionId File f1=new File((String)request.getRealPath("photo")+"/",temp); //获得photo所在的目

Java 如何改变图片大小的程序代码

Java 如何改变图片大小的程序代码 前面在做项目的时候,有一个需求是需要上传图片的,然而该图片只是简单的展示一些信息,不需要很大,所以在上传图片的时候改变图片的大小就显得很有必要了!然后就写了下面这个方法来改变图片的大小! Java代码 1. /** 2. * 改变图片的大小到宽为size,然后高随着宽等比例变化 3. * @param is 上传的图片的输入流 4. * @param os 改变了图片的大小后,把图片的流输出到目标OutputStream 5. * @param size 新图片的宽 6. * @param format 新图片的格式 7. * @throws IOException 8. */ 9. public static void resizeImage(InputStream is, OutputStream os, int size, String format) throws IOException { 10. BufferedImage prevImage = ImageIO.read(is); 11. double width = prevImage.getWidth(); 12. double height = prevImage.getHeight(); 13. double percent = size/width; 14. int newWidth = (int)(width * percent); 15. int newHeight = (int)(height * percent); 16. BufferedImage image = new BufferedImage(newWidth, newHeight,

JSP 实现多个文件上传的两种方法

JSP 实现多个文件上传的两种方法 JSP实现文件上传的实现方式是这样的:使用ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流,然后处理这个数据流,从中分析得到文件上传中传递到服务器的各个参数和数据,然后将其中的文件数据存储为一个文件或插入到数据库中。 通常JSP页面中不处理文件的上传功能,而是把这些功能放到Servlet 或JavaBean中去实现。使用Servlet完成文件上传的例子在其他JSP书籍中有所介绍,这里只介绍使用JeanBean是如何完成文件上传的。 JSP中实现文件的上传可以采用两种方式即采用HTTP协议和FTP协议实现,二者在传输的原理上存在很大的差异。以下将结合源代码对它们的实现做简单介绍,相信读者会从中有所收获。 在JSP中使用JavaBean实现基于Web的文件上传功能一般需要三种文件结合完成。这三种文件分别是提供界面的HTML页面文件、完成调用实现上传功能的JavaBean的JSP文件和实现JavaBean的Java的类文件。 1.采用HTTP协议实现多个文件的上传 在过去的HTML页面中,表单不能实现文件的上传,这多少限制了一些网页的功能。RFC1867规范(即HTML中实现基于表单的文件上传)对表单作出了扩展,增加了一个表单元素(input type=file)。通过使用这个元素,浏览器会自动生成一个输入框和一个按钮,输入框可供用户填写本地的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件。具体的表单实现如下: 选择了文件后直接输入本地文件的绝对路径,表单的action属性值是*.jsp,这意味着请求(包括上载的文件)将发送给*.jsp文件。在这个过程中实际上就实现了HTTP方式的文件上载。文件从客户端到服务器的上传是由HTTP协议的通用网关界面(CGI)支持的。这种上载方式要求浏览器和WEB服务器两方面都能够支持Rfc1867。JavaBean 通过ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流、分析上传的文件格式,根据分析结果将多个文件依次输出服务器端的目标文件中。 2.采用FTP协议实现多个文件的上传 FTP协议是Internet上用来传送文件的协议,规定了Internet上文件互相传送的标准。在Java中实现这一功能是借助FtpClient类完成的。具体实现过程:首先与FTP服务器建立连接。然后初始化文件的传输方式,包括ASCII和BINARY两种方

jsp完整文件上传

jsp完整文件上传 本文章这里为各位朋友免费提供一款jsp完整文件上传哦,如果你正在看这款文件上传代码的话不防进来看看吧,好了费话不说多了。 actionform, package tester.business.maitain; import org.apache.struts.action.*; import javax.servlet.http.*; import org.apache.struts.upload.*; public class MaintainForm extends ActionForm { /** private String p_title; private int post_index; private String issue_time; private String issue; private String p_content; private String p_accessory; private int p_id; private java.util.ArrayList post_indexOpts; */ private Trainplan trainPlan = new Trainplan(); private org.apache.struts.upload.FormFile theFile1; private org.apache.struts.upload.FormFile theFile2; private org.apache.struts.upload.FormFile theFile3; public String getP_title() { return trainPlan.getP_title(); } public void setP_title(String p_title) { trainPlan.setP_title(p_title); } public void setTrainPlan(Trainplan trainP) { this.trainPlan = trainP; } public Trainplan getTrainPlan() { return this.trainPlan; }

Jsp页面实现文件上传下载

Jsp页面实现文件上传下载 第1 页jsp页面实现文件上传 代码开发的过程见用TOMCAT作简单的jsp web开发 名称:jsp页面上传类 作者:SinNeR Mail:vogoals[at]https://www.doczj.com/doc/c617061919.html, 特点: 1可以多文件上传; 2返回上传后的文件名; 3form表单中的其他参数也可以得到。 先贴上传类,JspFileUpload package com.vogoal.util; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Hashtable; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; /* * vogoalAPI 1.0 * Auther SinNeR@https://www.doczj.com/doc/c617061919.html, * by https://www.doczj.com/doc/c617061919.html, * mail: vogoals@https://www.doczj.com/doc/c617061919.html, */ /** * JSP上传文件类 * * @author SinNeR * @version 1.0 */ public class JspFileUpload { /** request对象*/ private HttpServletRequest request = null; /** 上传文件的路径*/ private String uploadPath = null; /** 每次读取得字节的大小*/ private static int BUFSIZE = 1024 * 8; /** 存储参数的Hashtable */ private Hashtable paramHt = new Hasptable(); /** 存储上传的文件的文件名的ArrayList */

JSP图片上传预览

图片上传预览 图片上传预览ie6,7,8, firefox

js+jsp+servlet实现一键上传文件夹中的所有文件

JS+JSP+SERVLET实现一键上传文件夹下面的所有文件到数据库中 一、页面的Js代码: