`
emowuyi
  • 浏览: 1530922 次
文章分类
社区版块
存档分类
最新评论

JAVA WEB_JSP的初步(13)

 
阅读更多

使用Smartupload组件

如果要想上传文件,则必须使用上传文件的控件框,类型为file 1

实例一:对于图片,必须进行多媒体的封装 1

实例二:封装表单的问题 2

实例三:重新命名文件名称 3

实例四:为保证重命名不重复 4

如果要想上传文件,则必须使用上传文件的控件框,类型为file

<formaction="SmartUpload01.jsp"method="post">

上传文件:<inputtype="file"name="pic">

<inputtype="submit"value="上传">

</form>

使用Smartupload上传文件,则须按照以下的步骤操作:

l实例化Smartupload对象SmartUploadsmart=newSmartUpload();

l初始化上传操作publicfinalvoidinitialize(PageContextpageContext)

作用:执行上传下载的初始化工作,其中,pageContextJSP页面内置对象(页面上下文)

l准备上传publicvoidupload()

作用:上传文件数据。对于上传操作,第一步执行initialize方法,第二步就要执行这个方法。

l将上传的文件进行保存publicintsave(StringdestPathName)

作用:将全部上传文件保存到指定目录下,并返回保存的文件个数。其中,destPathName为文件保存目录

实例一:对于图片,必须进行多媒体的封装

<formaction="smartupload02.jsp"method="post"enctype="multipart/form-data">

上传的图片:<inputtype="file"name="pic">

<inputtype="submit"value="上传">

</form>

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<jsp:useBeanid="smartupload"class="org.lxh.smart.SmartUpload"/>

<html>

<head>

<title>smartupload</title>

</head>

<body>

<%

smartupload.initialize(pageContext); //初始化上传

smartupload.upload(); //准备上传

smartupload.save("upload"); //保存文件

%>

</body>

</html>

实例二:封装表单的问题

<html>

<head>

<title>smartupload</title>

</head>

<body>

<formaction="smartupload03.jsp"method="post"enctype="multipart/form-data">

用户姓名:<inputtype="text"name="uname"><br>

上传的图片:<inputtype="file"name="pic"><br>

<inputtype="submit"value="上传">

</form>

</body>

</html>

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<jsp:useBeanid="smartupload"class="org.lxh.smart.SmartUpload"/>

<html>

<head>

<title>smartupload</title>

</head>

<body>

运行程序发现,无法直接使用request对象,取得表单中的其他参数

用户名不能取出为null

所以:如果表单被封装之后,要取得封装表单里的内容,则只能使用smartupload中提供的特定方法完成,而且此方法必须在smartupload准备上传的语句之后。

publicRequestgetRequest()

作用:取得request对象,以便由此对象获得上传表单参数的值。

<%

request.setCharacterEncoding("GBK");

//Stringname=request.getParameter("uname");

smartupload.initialize(pageContext); //初始化上传

smartupload.upload(); //准备上传

Stringname=smartupload.getRequest().getParameter("uname");

smartupload.save("upload"); //保存文件

%>

<h1>姓名:<%=name%></h1>

</body>

</html>

实例三:重新命名文件名称

取得文件后缀可使用如下形式:Stringext=smart.getFiles().getFile(0).getFileExt();

1.publicFilesgetFiles()

作用:取全部上传文件,以Files对象形式返回,可以利用Files类的操作方法来获得上传文件的数目等信息。2.Files类中的方法:publicFilegetFile(intindex)

作用:取得指定位移处的文件对象File(这是smartupload中的File,不是java.io.File,注意区分)其中,index为指定位移,其值在0getCount()-1之间。

3.File类中的方法:publicStringgetFileExt()

作用:取文件扩展名(后缀)
4.publicvoidsaveAs(java.lang.StringdestFilePathName)

作用:将文件换名另存,其中,destFilePathName是另存的文件名。

<body>

<formaction="smartupload04.jsp"method="post"enctype="multipart/form-data">

文件名称:<inputtype="text"name="uname"><br>

上传的图片:<inputtype="file"name="pic"><br>

<inputtype="submit"value="上传">

</form>

</body>

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<jsp:useBeanid="smart"class="org.lxh.smart.SmartUpload"/>

<html>

<head>

<title>smartupload</title>

</head>

<body>

<%

request.setCharacterEncoding("GBK");

smart.initialize(pageContext); //初始化上传

smart.upload(); //准备上传

//取得上传的文件后缀

Stringext=smart.getFiles().getFile(0).getFileExt();

//取得用户自己输入的名称:

Stringname=smart.getRequest().getParameter("uname");

//将用户名与扩展名相连接,形成新的名称

name=name+"."+ext;

//新文件的路径及文件名

StringfileName=this.getServletContext().getRealPath("/")+"upload/"+name;

//保存文件

smart.getFiles().getFile(0).saveAs(fileName);

%>

<imgsrc="<%=fileName%>"width="300"height="200">

</body>

</html>

实例四:为保证重命名不重复

smartupload05.htm/smartupload05.jsp/IPTimeStamp.java

<html>

<head>

<title>smartupload</title>

</head>

<body>

<formaction="smartupload05.jsp"method="post"enctype="multipart/form-data">

上传的图片:<inputtype="file"name="pic"><br>

<inputtype="submit"value="上传">

</form>

</body>

</html>

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<%@pageimport="com.bean.*"%>

<jsp:useBeanid="smartupload"class="org.lxh.smart.SmartUpload"/>

<html>

<head>

<title>smartupload</title>

</head>

<body>

<%

IPTimeStampits=newIPTimeStamp(request.getRemoteAddr());

request.setCharacterEncoding("GBK");

smartupload.initialize(pageContext); //初始化上传

smartupload.upload(); //准备上传

Stringname=its.getIPTimeStampRand()+"."+smartupload.getFiles().getFile(0).getFileExt();

StringfileName=this.getServletContext().getRealPath("/")+"upload/"+name;

smartupload.getFiles().getFile(0).saveAs(fileName);

%>

<imgsrc="<%=fileName%>"width="300"height="200">

</body>

</html>

packagecom.bean;

importjava.text.SimpleDateFormat;

importjava.util.Random;

publicclassIPTimeStamp{

privateStringip;

publicIPTimeStamp(){

}

publicIPTimeStamp(Stringip){

this.ip=ip;//设置ip地址

}

publicStringgetTimeStamp(){

//取得日期和时间

Stringtemp=null;

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmssSSS");

temp=sdf.format(newjava.util.Date());

returntemp;

}

publicStringgetIPTimeStampRand(){

StringBufferbuf=newStringBuffer();

if(ip!=null){

Stringstr[]=this.ip.split("\\.");//以点为他隔符划分ip

for(inti=0;i<str.length;i++){

//将补全3位的IP地址放入buf

buf.append(this.addZero(str[i],3));

}

}

//追加日期及时间

buf.append(this.getTimeStamp());

//追加产生的3位随机数

Randomrand=newRandom();

for(inti=0;i<3;i++){

buf.append(rand.nextInt(10));

}

returnbuf.toString();

}

privateStringaddZero(Stringstr,intlen){

//ip地址没有写全3位时,0补全

StringBuffers=newStringBuffer();

s.append(str);

while(s.length()<len){

s.insert(0,"0");

}

returns.toString();

}

}

运行结果

分享到:
评论

相关推荐

    jsp_mysql92大学生社交平台ssh_java系统_社交平台_

    综合以上信息,这个项目提供了一个全面的学习机会,涵盖了Java Web开发中的多个重要方面,包括前端交互(JSP)、后端逻辑处理(SSH框架)、数据库设计与操作(MySQL)以及项目构建与部署。对于新手而言,可以通过这...

    JAVA_WEB开发教程(前九章)

    【标题】"JAVA_WEB开发教程(前九章)"涵盖了Java Web开发的初步阶段,旨在为初学者提供一套系统的入门教程。本教程通过九个章节深入浅出地讲解了Java Web开发的基础概念和技术,虽然不包含完整的教材,但对前九章的...

    跟我学Java_Web源代码

    跟我学Java_Web配套源代码,全书全!另外: Java Web开发是目前最...《跟我学Java Web》适合广大Java Web初学者、初步掌握Java技术的读者,想深入学习Struts2、SSH框架的开发者,以及从事Java Web开发工作的技术人员。

    java_web开发技术01_overview借鉴.pdf

    Java Web开发技术是构建基于Java平台的Web应用程序的关键技术,主要涉及Servlet、JSP(JavaServer Pages)等核心概念。本文由孙卫琴撰写,参考书籍《Tomcat与Java Web开发技术详解》,旨在为初学者提供一个全面的...

    Java Web开发实践教程源码

    Java Web开发主要依赖于Java Servlet、JavaServer Pages(JSP)和JavaServer Faces(JSF)等技术。Servlet是Java平台上的服务器端组件,用于扩展服务器的功能,处理HTTP请求。JSP则是HTML和Java代码的结合体,用于...

    java网络编程原理与jsp web开发核心技术 part2

    本书是目前电子资源中比较基础的一本,适合具备初步计算机网络知识(例如TCP/IP网路五层模型)的读者快速理解网络编程原理和JSP的核心技术,进而快速上手开发。 本书的作者撰写是相当用心和仔细的,各知识点都有比较...

    一个基于maven的Java Web项目(只是搭建了环境)

    虽然没有提供具体的`chapter1`文件或目录的详细信息,但在一个典型的Java Web项目中,这可能代表项目的第一部分或者是一个初步的组织结构。通常,Java Web项目的目录结构可能包括以下几个部分: 1. `src/main/java`...

    HTY_JSP_DAY01

    【标题】"HTY_JSP_DAY01"揭示了这是关于JSP(JavaServer Pages)技术的初步学习资料,很可能是某位讲师或培训机构的教学日课内容,专注于第一天的学习要点。JSP是Java平台上的一个核心技术,用于构建动态web应用程序...

    重庆理工大学java web期末大作业 耀炎食品网站

    在Java Web开发中,通常会使用到的技术栈包括Servlet、JSP、JDBC等,这些技术都是Java后端开发的重要组成部分。 【描述】:“包含期末工程作业以及两个原型” 描述中提到的“期末工程作业”可能是指整个耀炎食品...

    Java Web项目开发案例精粹(源码)1_10章

    【Java Web项目开发案例精粹】是一套涵盖了Java Web开发中的关键技术和实践案例的资源集合,主要涵盖了第1到第10章的内容。这个压缩包包含的源码和工程文件,以及可能的数据库文件,为学习者提供了丰富的实战练习...

    Java Web程序设计任务教程--教材源码第1章.rar

    在本章中,可能会初步介绍MVC的概念,虽然不一定会深入到具体实现,但这是理解Java Web应用程序结构的关键。 在实际开发中,我们通常会使用像Spring框架这样的工具来简化开发过程。Spring提供了一种强大的依赖注入...

    java web智能停车场登录界面初步设计

    这个初步设计主要涉及了几个关键的技术领域,包括JSP(JavaServer Pages)、Java Web、以及SQL Server数据库。下面将详细阐述这些技术及其在登录界面设计中的应用。 1. JSP:JSP是一种动态网页技术,用于创建交互式...

    Java Web测试题

    这些题目旨在帮助学习者巩固和提升在Java Web领域的技能,包括但不限于Servlet、JSP、JavaBean、MVC架构、Spring框架、Hibernate ORM、JavaScript、jQuery、Ajax、JSON等关键概念和技术。 1. **Servlet**:Servlet...

    Web组件-Ⅱ——JSP初步基础

    ### Web组件-Ⅱ——JSP初步基础 #### 9.1 实验目的概述 - **理解JSP与Servlet的关系**:明确JSP与Servlet之间的联系与差异,这对于理解动态网页的工作原理非常重要。 - **掌握JSP基本组成部分**:熟悉JSP页面的...

    java网络编程原理与jsp web开发核心技术 part1

    本书是目前电子资源中比较基础的一本,适合具备初步计算机网络知识(例如TCP/IP网路五层模型)的读者快速理解网络编程原理和JSP的核心技术,进而快速上手开发。 本书的作者撰写是相当用心和仔细的,各知识点都有比较...

    精通jsp-web开发技术与典型应用

    《精通jsp-web开发技术与典型应用》是一本深入讲解JavaServer Pages (JSP) 技术及其在Web开发中的实际运用的书籍。作者张新曼以其丰富的教学和实践经验,为读者构建了一套全面且实用的学习路径,旨在帮助学生和...

    java webHTML标签

    在Java Web开发中,HTML(超文本标记语言)通常与Servlets、JSP(JavaServer Pages)或现代Web框架如Spring MVC一起使用,来创建动态、交互式的网页。 HTML标签由一对尖括号包围,例如`&lt;html&gt;`、`&lt;head&gt;`和`&lt;body&gt;`...

    java_jsp项目源码_+sql毕业生招聘系统毕业设计(系统+论文+英文文献+综合材料).rar

    3. **在线面试**:系统提供在线面试功能,企业和毕业生可以通过视频或语音进行初步沟通,节省时间和成本。 4. **招聘流程管理**:企业可以跟踪求职者的应聘进度,管理招聘流程,提高招聘效率。 5. **数据分析与统计*...

    JAVA Web 开发 学习

    Java Web开发的核心在于Servlet和JSP(JavaServer Pages),它们是Java EE(Java Enterprise Edition)的一部分,用于处理服务器端的请求和生成动态网页。Servlet是Java编写的服务器端程序,它可以接收并响应来自...

    《Java Web应用开发》电子教案

    根据提供的信息,《Java Web应用开发》电子教案涵盖了Java Web应用的基础知识、开发环境...通过以上知识点的学习,可以初步掌握Java Web应用的基本开发流程和技术要点,为进一步深入学习Java Web开发打下坚实的基础。

Global site tag (gtag.js) - Google Analytics