Smartupload+jsp+servlet实现文件上传下载
SmartUploadServlet.java
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.jspsmart.upload.*;;
public class SmartUploadServlet extends HttpServlet {
private ServletConfig config;
//初始化Servlet
final public void init(ServletConfig config)
throws ServletException{
this.config=config;
}
//处理GET请求
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
//响应POST请求
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取PrintWriter对象
PrintWriter out = response.getWriter();
out.println("
Transitional//EN\">");
out.println("");
out.println("
out.println("
");
out.println("
jspSmartUpload
");out.println("
");
//新建一个SmartUpload对象
SmartUpload mySmartUpload=new SmartUpload();
try{
//上传初始化
mySmartUpload.initialize(config, request, response);
//设定每个上传文件的最大长度
mySmartUpload.setMaxFileSize(1*512*1024);
//设定总上传数据的长度
mySmartUpload.setTotalMaxFileSize(1*1024*1024);
//设定允许上传的文件的类型,只允许上传java,doc,txt文件
mySmartUpload.setAllowedFilesList("java,doc,txt");
//设定禁止上传的文件的类型,禁止上传带有exe,bat文件
mySmartUpload.setDeniedFilesList("exe,bat");
//上传文件
mySmartUpload.upload();
//将上传文件全部保存到指定目录
int count=mySmartUpload.save("/");
out.println(//利用Request对象获取参数之值
mySmartUpload.getRequest().getParameter("paramete")+" ");
//显示处理结果
out.println(""+count+" File Upload!
");
//处理每个上传文件
for(int i=0;i { com.jspsmart.upload.File file =mySmartUpload.getFiles().getFile(i); //判断用户是否选择了文件 if(!file.isMissing()){ //打印文件名 out.println("File Name: " +file.getFileName()+" //打印文件扩展名 out.println("File ExtName: " +file.getFileExt()+" //打印文件路径,包括目录 out.println("Path: " +file.getFilePathName()+" //另存到以Web应用程序的根目录为文件根目录的目录下 //(声明一下:在Myeclipse中,该目录位于工程下 的.metadata/.me_tcat/webapps/该工程目录/upload/) file.saveAs("/upload/"+file.getFileName(),mySmartUpload.SAVE_VIRTUAL); //另存到操作系统的根目录为文件根目录的目录下 file.saveAs("F:\\my tool\\project\\SmartUpload\\temp\\"+file.getFileName(), mySmartUpload.SAVE_PHYSICAL); } } }catch(Exception e){//异常处理 //打印自定义异常信息 out.println("Unanable to upload the file. out.println("Please Check The File Type"); } out.println("
");
");
");
");
out.println("");
}
}
upload.jsp
<%@ page contentType="text/html;charset=gb2312"%>
jspSmartUpload组件文件上传
SmartDownloadServlet.java
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.jspsmart.upload.*;;
public class SmartDownloadServlet extends HttpServlet {
private ServletConfig config;
//初始化Servlet
final public void init(ServletConfig config)
throws ServletException{
this.config=config;
}
//处理GET请求
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
//响应POST请求
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取PrintWriter对象
//PrintWriter out = response.getWriter(); //这里会出现异常 out.println("");
out.println("");
out.println("
out.println("
");
out.println("
jspSmartDownload
");out.println("
");
//新建一个SmartUpload对象
SmartUpload mySmartUpload=new SmartUpload();
try{
//上传初始化
mySmartUpload.initialize(config, request, response);
String fileName=request.getParameter("fileName");
//设定contentDisposition为null以禁止浏览器
//自动打开文件
//保证单击链接后是下载文件,若不设定,则
mySmartUpload.setContentDisposition(null);
//下载文件
mySmartUpload.downloadFile("/upload/"+fileName);
}catch(Exception e){//异常处理
//打印自定义异常信息
//out.println("Download Fail.
");
//out.println(e.toString());
//想要打印信息可参考下面的补充说明
}
//out.println("
//out.println("");
}
}
download.jsp
<%@ page contentType="text/html;charset=gb2312"%>
jspSmartUpload组件下载文件
基于Java Web的猜歌游戏设计与实现(含源文件)
本科毕业论文(设计)题目:基于Java Web的猜歌游戏设计与实现 姓名: 学号: 专业:计算机科学与技术 院系:信息工程学院 指导老师: 职称学位:讲师/硕士 完成时间:2015年5月 教务处制
安徽新华学院本科毕业论文(设计)独创承诺书 本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。 毕业论文(设计)作者签名: 日期:
基于Java Web的猜歌游戏设计与实现 摘要 随着社会的不断发展,越来越多的人面临的压力越来越大,人们渴望随时随地都能放松自我。然而游戏正成为人们释放压力,放松自己最行之有效的娱乐方式之一。而基于Java Web的猜歌游戏以其界面美观,操作简单,对硬件要求低等优点将会备受大家的青睐。系统通过数据库对用户基本信息和歌曲信息进行统一管理,借助经典的框架Servlet对数据进行处理,又选择了前端一些功能强大的插件对数据进行展示,将猜歌与游戏很好的结合起来,意在给用户创造了一个良好的交互平台。为了更好地管理和维护本系统,系统还专门设置了管理员角色和用户角色。管理员主要的任务在于对用户上传的歌曲进行审核。而用户则是享受猜歌的乐趣,使得猜歌游戏能够稳定、高效地运行。 为了增强游戏的趣味性,告别了原始猜歌游戏的不灵活性。该系统通过用户上传歌曲功能时时更新数据库,使得歌曲不断地更新,玩家与玩家之间可以互相分享歌曲。随着网络的发展,该游戏还存在大量地后续研究工作。 关键词:猜歌;游戏;数据;Servlet框架;Java Web
Struts1.2实现单文件上传讲解
Struts1 文件上传 在Web程序中的上传文件的功能一般会使用标签在客户端显示输入要上传的文件名的用户接口。如果读者使用过JSP/Servlet来处理客户端上传的文件就会知道,实现这个功能并不是很容易。而在Struts中为我们提供了一种机制,可以非常方便地将客户端上传的文件保存在服务端。 在Struts Html标签库中提供了一个
应用Servlet实现购物车
应用Servlet实现购物车 具体实现过程 1、创建封装商品信息的值JavaBean---------GoodsSingle package com.yxq.valuebean; public class GoodsSingle { private String name; //保存商品名称 private float price; //保存商品价格 private int num; //保存商品购买数量public String getName() { return name; } public void setName(String name) { https://www.360docs.net/doc/929160909.html, = name; } public int getNum() { return num; } public void setNum(int num) { this.num = num; }
public float getPrice() { return price; } public void setPrice(float price) { this.price = price; } } 2、创建工具JavaBean-------- MyTools 实现字符型数据转 换为整型及乱码处理 package com.yxq.toolbean; import java.io.UnsupportedEncodingException; public class MyTools { public static int strToint(String str){ //将String型数据转换为int型数据的方法 if(str==null||str.equals("")) str="0"; int i=0; try{ i=Integer.parseInt(str); //把str 转换成
jsp中实现一个页面纯io流上传文件
jsp中实现一个页面纯io流上传文件 <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="java.io.*"%> <%@page import="java.sql.*"%>
Apache FileUpload 四种方式实现文件上传
将Apache的commons-fileupload.jar放在应用程序的WEB-INF\lib下,即可使用。下面举例介绍如何使用它的文件上传功能。 所使用的fileUpload版本为1.2,环境为Eclipse3.3+MyEclipse6.0。FileUpload 是基于Commons IO的,所以在进入项目前先确定Commons IO的jar包(本文使用commons-io-1.3.2.jar)在WEB-INF\lib下。 此文作示例工程可在文章最后的附件中下载。 示例1 最简单的例子,通过ServletFileUpload静态类来解析Request,工厂类FileItemFactory会对mulipart类的表单中的所有字段进行处理,不只是file字段。getName()得到文件名,getString ()得到表单数据内容,isFormField()可判断是否为普通的表单项。 demo1.html
用 Servlet 进行文件上传的原理和实现
用Servlet 进行文件上传的原理和实现 Servlet 是用 Java 编写的、协议和平台都独立的服务器端组件,使用请求/响应的模式,提供了一个基于 Java 的服务器解决方案。使用 Servlet 可以方便地处理在 HTML 页面表单中提交的数据,但 Servlet 的 API 没有提供对以 mutilpart/form-data 形式编码的表单进行解码的支持,因而对日常应用中经常涉及到到文件上传等事务无能为力。 如何用 Servlet 进行文件的上传,必须编程实现。 一、基本原理 通过 HTML 上载文件的基本流程如下图所示。 浏览器端提供了供用户选择提交内容的界面(通常是一个表单),在用户提交请求后,将文件数据和其他表单信息编码并上传至服务器端,服务器端(通常是一个 cgi 程序)将上传的内容进行解码了,提取出 HTML 表单中的信息,将文件数据存入磁盘或数据库。 二、各过程详解 A)填写表单并提交
通过表单提交数据的方法有两种,一种是 GET 方法,另一种是 POST 方法,前者通常用于提交少量的数据,而在上传文件或大量数据时,应该选用 POST 方法。在 HTML 代码中,在
我们在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.* "%>上传文件详细设计
文件上传详细设计 1.用户界面 2.前端控制 ●声明控制器:uploadCtrl 2.1.上传文件 ●功能:实现本地文件保存到服务器中。 ●参数:FormData()对象 ●返回值:??? ●实现://在【uploadCtrl】作用域内声明保存文档属性的方法。 1.声明上传文件对象file 1.1声明文件信息对象file message 2.声明文件上传事件btn_upload_onclick() //1.获取文件对象 //1.调用数据接口【/ZenithThinkTank-1.0.0/servlet/FileCommand】,post提交文件对象file,获取{“file”:{"filetype":"docx","filename":”知识管理概要设计”,"files ize":"500","filepath":“/filepath"}}JSON格式 //2.将结果赋值到【uploadCtrl】作用域内的【file message】对象。
2.2.获取文档分类 ●功能:实现获取文档分类树的展示和选择。 ●参数:parentid ●返回值:??? ●实现://在【uploadCtrl】作用域内声明获取文档分类的方法。 1.声明kind对象 2.声明自动获取分类 2.1声明自动获取分类方法 $scope.auto_kind() 2.2声明保存文件信息 //1.调用数据接口【/ZenithThinkTank-1.0.0/thinktank/api/1.0/kno/i】,p ost提交filemessage参数,获得Json字符串{“msg”:”success”,”state”:” 1”} 2.3分类加载数据方法 //1.调用数据接口【/ZenithThinkTank-1.0.0/thinktank/api/1.0/kind/s/'p arentid】,post提交参数,获{“kind”:{“kindn ame”:”””案件库”, “k indId”:”-1”}} JSON格式 2.4.选择分类 //2. 将结果赋值到【uploadCtrl】作用域内的【kindlist】对象。
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);
Java文件上传下载
主要方法介绍 上传 // 新建一个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"); ***************************************************************************************************** ***************** 应用实例: 用户只能上传图片格式的文件实例
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+"/"; %>
servlet+JSP实现用户登录功能
servlet+JSP实现用户登录功能 一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML、Xpath、Servlet、jsp的知识点都串联起来。 二、创建MVC架构的Web项目 在MyEclipse中新创建一个webmvcframework项目,导入项目所需要的开发包(jar包),创建项目所需要的包,在java 开发中,架构的层次是以包的形式体现出来的
一个良好的JavaWeb项目架构应该具有以上的11个包,这样显得层次分明,各个层之间的职责也很清晰明了,搭建JavaWeb项目架构时,就按照上面的1~11的序号顺序创建包:domain→dao→dao.impl→service→service.impl→web.controller→web.UI→web.filter→web.listener→util→junit.test,包的层次创建好了,项目的架构也就定下来了,当然,在实际的项目开发中,也不一定是完完全全按照上面说的来创建包的层次结构,而是根据项目的实际情况,可能还需要创建其他的包,这个得根据项目的需要来定了 在src目录(类目录)下面,创建用于保存用户数据的xml文件(DB.xml) 在WEB-INF目录下创建一个pages目录,pages目录存放系统的一些受保护(不允许用户直接通过URL地址访问)的jsp 页面,用户要想访问这些受保护的jsp页面,那么只能通过me.gacl.web.UI这个包里面的Servlet 创建好的项目如下图(图-1)所示: 图-1
android上传图片至服务器=
android上传图片至服务器 本实例实现了android上传手机图片至服务器,服务器进行保存 服务器servlet代码 publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String temp=request.getSession().getServletContext().getRealPath("/") +"temp"; //临时目录 System.out.println("temp="+temp); String loadpath=request.getSession().getServletContext().getRealPath(" /")+"Image"; //上传文件存放目录 System.out.println("loadpath="+loadpath); DiskFileUpload fu =new DiskFileUpload(); fu.setSizeMax(1*1024*1024); // 设置允许用户上传文件大小,单位:字节 fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:字节 fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThresh old()的值时数据存放在硬盘的目录 //开始读取上传信息 int index=0; List fileItems =null; try{ fileItems = fu.parseRequest(reques t); System.out.println("fileItems="+fi leItems); } catch(Exception e) { e.printStackTrace(); } Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while(iter.hasNext()) { FileItem item = (FileItem)iter.next();// 忽略其他不是文件域的所有表单信息
javaweb之servlet
第4天:javaweb之servlet 考查的知识点:servetl的生命周期 1.Serlvet生命周期有关的方法是() (难度B) A.init(ServletConfig config) B.service(ServletRequest request,ServletResponse response) C.destory() D.getServletName() 答案:ABC 考查的知识点:http请求 2.Http缺省的请求方式是() (难度A) A.PUT B.GET C.POST D.TRACE 答案:B 考查的知识点:servlet基础 3.HttpServlet中,用来处理GET请求的方法是() (难度A) A.doHead B.doGet C.doPost D.doPut 答案:B 考查的知识点:servlet的配置 5.在部署Servlet时,web.xml文件中
考查的知识点:servlet的生命周期 7. 在servlet的生命周期中,容器只会调用一次的方法是() (难度B) A.service B.getServletConfig C.init D.destroy 答案:CD 考查的知识点:doGet方法 8.给定一个Servlet的doGet方法中的代码片断() (难度B) request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlet”) 那么在MyServlet中可以使用哪个方法把属性name的值取出 A.String str=request.getAttribute(“name”); B.String str=(String)request.getAttribute(“name”); C.String str=request.getParameter(“name”); D.无法取出 答案:D 考查的知识点:http响应头信息 10.下面哪一个指明向客户端发送的请求正文的MIME类型() (难度B) A.Content-Type B.Content-Encoding C.Content-Length D.全是 答案:A 考查的知识点:Servlet的实现方式HttpServlet 11.在javaEE中,对于HttpServlet描述正确的是() (难度B) A.自定义的Servlet继承了HttpServlet类,一定要覆盖掉service方法 B.HttpServlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法 C.HttpServlet类中处理客户请求和响应时所使用的两个接口是HttpServletRequest 和HttpServletResponse D.自定义的Servlet继承HttpServlet类,一般只需要覆盖doPost或doGet方法,不 必覆盖service方法,service方法会调用doPost或doGet 答案:BCD 考查的知识点:servlet的配置url-pattern 12.Servlet中,下面关于url配置方式正确的是() (难度B) A./my B./my/* C./*.do D.*.do
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) { %>WebUploader,Java大文件分片上传
Web大文件分片上传 Web环境中大文件上传不能再用form表单一次上传了,这样效率太低; 我在不断尝试SpringMVC环境下分片接受文件,最终失败;原因目测是SpringMVC、Struts 框架是不支持HTML5方式上传的(这类框架只能支持Form表单方式的文件上传,或者FLash) 那我们可以使用Servlet和SpringMVC结合集成方式实现大文件分片上传; 一、来看看我们的web.xml的配置 很明显两个servlet,上面一个配置的是SpringMVC的入口,下面servlet是视频上传; 他们俩的url-pattern不能冲突;
二、先来看看WebUploader的前端代码 以下是代码: <%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>