- 浏览: 1495374 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (523)
- JAVA (334)
- J2EE (18)
- JSP (21)
- JavaScript (14)
- it life (2)
- mobile develop (4)
- UBUNTU (14)
- Algorithm (14)
- DataBase (56)
- Browser/Server (1)
- linux (6)
- fedora (2)
- CSS (1)
- AjAX (3)
- HTML5 (1)
- EJB (1)
- osworkflow (2)
- Java face (5)
- spring (4)
- ICE (1)
- webService (2)
- MongoDB (1)
- JavaThread (4)
- JavaCollections (3)
- Hibernate (2)
- JavaMail (1)
- JavaBasic (1)
- Cache (1)
- https (4)
- DOM4J (1)
- JDOM (0)
- Mybatis (1)
- JUNIT (1)
- eclipse (1)
- easyMock (2)
最新评论
-
yadongliang:
...
自己认为的一些技术点 -
yadongliang:
每次看你头像都看的荷尔蒙分泌失调
WebService的两种方式SOAP和REST比较 (转) -
yadongliang:
hollo 写道一直有这种感觉,盲目的跟风,确实有一些人为了潮 ...
WebService的两种方式SOAP和REST比较 (转) -
welss:
博主,JNative怎么调用dll中的这种方法: int ...
JNative调用DLL -
Java_Antelope:
session.setAttribute和session.getAttribute(
Mysql数据库建表语句:
CREATE TABLE `photo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`image` blob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
//DBClassMysql.java 自己添加mysql的java驱动,要不会报错的
package com.abin.upload.image;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public final class DBClassMysql {
//Mysql
private static String driver="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/test";
private static String user="root";
private static String password="";
public DBClassMysql ()throws ClassNotFoundException{
}
//Mysql
public static Connection getMysql(){
Connection conn=null;
try{
if(null==conn||conn.isClosed()){
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url,user,password);
}
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
return conn;
}
}
//ImageServlet.java 保存文件流的servlet
package com.abin.upload.image;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class ImageServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
super.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;
PreparedStatement ps=null;
String title = null;
int imageLength = 0;
byte[] buffer = new byte[imageLength];
InputStream in = null;
int total = 0;
int once = 0;
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload file = new ServletFileUpload(factory);
try {
List lst = file.parseRequest(request);
Iterator it = lst.iterator();
while (it.hasNext()) {
FileItem fileItem = (FileItem) it.next();
if (fileItem.isFormField()) {
title = fileItem.getString("UTF-8");
System.out.println("表单数据的名称是:" + fileItem.getFieldName()
+ ":表单的内容是:" + fileItem.getString("UTF-8"));
} else {
if (fileItem.getName() != null
&& !fileItem.getName().equals("")) {
imageLength = Integer.parseInt(String.valueOf(fileItem
.getSize()));
in = fileItem.getInputStream();
System.out.println("上传文件的名称:" + fileItem.getName());
System.out.println("上传文件的大小:" + fileItem.getSize());
System.out.println("上传文件的类型:"
+ fileItem.getContentType());
System.out.println("上传文件的类型:"
+ fileItem.getInputStream());
}
String sql="insert into photo (title,image) values (?,?)";
conn=DBClassMysql.getMysql();
ps=conn.prepareStatement(sql);
ps.setString(1, title);
ps.setBinaryStream(2, in,in.available());
ps.executeUpdate();
}
}
request.getSession().setAttribute("message", "operate success.");
request.getRequestDispatcher("message.jsp").forward(request, response);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
if(ps!=null){
ps.close();
}
if(conn!=null){
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void destroy() {
super.destroy();
}
}
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>com.abin.upload.image.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/ImageServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
//message.jsp WebRoot下面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>servlet upload</title>
</head>
<body>
<%=session.getAttribute("message") %>
</body>
</html>
//index.jsp WebRoot下面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>servlet upload</title>
</head>
<body>
<form method="post" action="ImageServlet" enctype="multipart/form-data">
标题:<br/>
<input name="title" type="text" /><br/>
请选择您要上传的图片:<br/>
<input name="myimage" type="file" /><br/>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form>
</body>
</html>
CREATE TABLE `photo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`image` blob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
//DBClassMysql.java 自己添加mysql的java驱动,要不会报错的
package com.abin.upload.image;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public final class DBClassMysql {
//Mysql
private static String driver="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/test";
private static String user="root";
private static String password="";
public DBClassMysql ()throws ClassNotFoundException{
}
//Mysql
public static Connection getMysql(){
Connection conn=null;
try{
if(null==conn||conn.isClosed()){
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url,user,password);
}
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
return conn;
}
}
//ImageServlet.java 保存文件流的servlet
package com.abin.upload.image;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class ImageServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
super.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;
PreparedStatement ps=null;
String title = null;
int imageLength = 0;
byte[] buffer = new byte[imageLength];
InputStream in = null;
int total = 0;
int once = 0;
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload file = new ServletFileUpload(factory);
try {
List lst = file.parseRequest(request);
Iterator it = lst.iterator();
while (it.hasNext()) {
FileItem fileItem = (FileItem) it.next();
if (fileItem.isFormField()) {
title = fileItem.getString("UTF-8");
System.out.println("表单数据的名称是:" + fileItem.getFieldName()
+ ":表单的内容是:" + fileItem.getString("UTF-8"));
} else {
if (fileItem.getName() != null
&& !fileItem.getName().equals("")) {
imageLength = Integer.parseInt(String.valueOf(fileItem
.getSize()));
in = fileItem.getInputStream();
System.out.println("上传文件的名称:" + fileItem.getName());
System.out.println("上传文件的大小:" + fileItem.getSize());
System.out.println("上传文件的类型:"
+ fileItem.getContentType());
System.out.println("上传文件的类型:"
+ fileItem.getInputStream());
}
String sql="insert into photo (title,image) values (?,?)";
conn=DBClassMysql.getMysql();
ps=conn.prepareStatement(sql);
ps.setString(1, title);
ps.setBinaryStream(2, in,in.available());
ps.executeUpdate();
}
}
request.getSession().setAttribute("message", "operate success.");
request.getRequestDispatcher("message.jsp").forward(request, response);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
if(ps!=null){
ps.close();
}
if(conn!=null){
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void destroy() {
super.destroy();
}
}
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>com.abin.upload.image.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/ImageServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
//message.jsp WebRoot下面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>servlet upload</title>
</head>
<body>
<%=session.getAttribute("message") %>
</body>
</html>
//index.jsp WebRoot下面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>servlet upload</title>
</head>
<body>
<form method="post" action="ImageServlet" enctype="multipart/form-data">
标题:<br/>
<input name="title" type="text" /><br/>
请选择您要上传的图片:<br/>
<input name="myimage" type="file" /><br/>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form>
</body>
</html>
发表评论
-
Spring官网改版后下载
2014-04-11 10:39 770Spring官网改版后找了好久都没有找到直接下载Jar包的链接 ... -
Java 系统架构设计
2014-03-31 21:18 1481首先分为网关和引擎等多个部分: 第一部分:网关 1、主要负责转 ... -
Java 提高系统性能
2014-03-03 22:22 2611首先是从三方面来提高的,应用层面,服务器端层面,数据库层面。 ... -
2013年11月份艺龙旅行网面试题
2013-11-22 23:39 12611.给你两个字符串s1="abc",s2= ... -
国猪555555555
2013-11-22 00:16 1096国足第一招:场地太差,不适应。 国足第二招:场地太好,不适应。 ... -
自己认为的一些技术点
2013-08-14 00:12 12431.rest风格的编程。 2.memcached的命中率低的问 ... -
HttpClient
2013-01-14 23:57 1050package org.abin.lee.test.http; ... -
JAVA单例模式读取properties配置文件
2012-12-16 01:12 2666前段时间出差去做一个数据接口的项目,有很多参数需要从工程中的配 ... -
Java 反射调用方法
2012-10-22 23:52 976package lc.abin.lee.reflect; i ... -
Java Https单向,双向验证
2012-09-23 22:47 3011https一般来说有单项SSL和双向SSL连接之分。 单项 ... -
Java中的transient,volatile和strictfp关键字
2012-09-12 18:00 833http://www.iteye.com/topic/5295 ... -
Server JBoss v5.0 at localhost was unable to start within 50 seconds.
2012-09-05 11:35 1883[标题]:[转]JBoss was unable to sta ... -
HttpUrlConnection 开发例子
2012-03-25 16:23 3360/*** * * 发送HTTP请求 * @ ... -
Java Enum类型定义的方法
2012-03-12 12:34 2347//枚举接口 package com.abin.info.s ... -
Rational Rose 2003 下载及破解方法
2012-03-06 12:49 1392FROM:http://blog.csdn.net/fengl ... -
使用Spring进行面向切面(AOP)编程
2012-02-22 10:35 23451.aop理论知识 横切性关注点:对哪些方法拦截,拦截后怎么处 ... -
BASE64、MD5、SHA、HMAC几种加密算法
2012-02-21 12:53 8806BASE64编码算法不算是真正的加密算法。 MD5、 ... -
文本文件和二进制文件区别及java中字节流和字符流归纳
2012-02-17 15:48 2992首先在物理上文本文件和二进制文件并没有区别,都是以二进制01的 ... -
Java 字节流转化为文件
2012-02-17 15:46 5753已知:byte[] bytes=new FileToBytes ... -
Java核心之Java内存分配原理
2012-02-17 13:40 953JAVA内存分配与管理是Java的核心技术之一,之前我们曾介绍 ...
相关推荐
文件上传是Web应用程序中常见的需求,它允许用户上传文件到服务器并存储在数据库中。这里我们将讲解关键的技术点、步骤以及注意事项。 首先,我们从JSP(JavaServer Pages)开始。JSP是Java的一个动态网页技术,...
这意味着,上传文件时必须将表单的enctype设置为multipart/form-data,并且使用post方法提交数据。 在servlet+JSP的场景下,实现文件上传通常会用到Apache Commons FileUpload库,这是一个强大的开源工具,用于处理...
这个场景中,我们将讨论如何使用Servlet和JSP来实现在Java Web应用中完成Excel文件的上传,并将其数据导入到MySQL数据库。Servlet是Java中用于处理HTTP请求的服务器端组件,而JSP则是一种动态网页技术,它们结合使用...
总结来说,Java结合MySQL进行图片的上传和下载,涉及到文件流的读写、数据库连接、SQL操作以及异常处理等技术。这个例子提供了一个基础的实现,但在实际项目中,可能需要考虑更多因素,如错误处理、多线程、文件大小...
至于文件上传,通常会涉及到Servlet和文件流处理。在Struts中,可以通过自定义Interceptor或Action来处理文件上传请求。文件会被临时存储在服务器的某个目录,然后通过Spring的Service层进行业务处理,如检查文件...
2. **硬盘文件项工厂(DiskFileItemFactory)**:FileItemFactory接口的实现类,用于配置临时存储上传文件的位置和大小限制。在示例中,创建了`DiskFileItemFactory`实例,用于处理文件上传的临时存储。 3. **文件项...
部署时,将应用打包成WAR文件,上传至支持Servlet和JSP的Web服务器(如Tomcat)。 以上就是基于MySQL、Servlet和JSP的简易CRM实现所涉及的关键知识点。理解并掌握这些技术,可以为开发更复杂的Web应用打下坚实基础...
在这个系统中,用户可以选择本地的文件进行上传,服务器接收到文件后将其存储到特定的服务器目录,例如"upload",并可能通过数据库(如MySQL)来管理这些文件的信息。用户可以通过同样的Web界面请求下载已上传的文件...
然后将文本内容读取出来存入到MySQL数据库中,当需要下载是,系统会从数据库中读取字符串内容然后生成下载到本地,实现的功能有:登陆,注册,管理员管理用户界面(冻结,解冻,注销),管理员管理文件界面(删除,...
使用`HttpServletRequest`对象的`getPart()`方法获取上传的文件部分,然后将文件内容保存到MySQL数据库。 3. **文件存储**:将文件内容写入数据库时,可以使用`PreparedStatement`来执行SQL插入语句,将文件的二...
综上所述,这个项目展示了如何使用JSP和Servlet进行Web开发,通过MySQL存储和管理数据,并实现CRUD操作和文件上传功能,这些都是构建一个基本的Web应用系统所必需的关键技术。通过深入理解和实践这些技术,开发者...
通常,图片上传的过程包括用户在JSP页面上选择文件,通过表单提交到Servlet,Servlet解析请求,读取文件内容,然后将文件内容转化为Blob对象,最后使用JavaBean将Blob对象与相关元数据一起存入MySQL数据库。...
2. **文件上传**:用户选择本地文件后,通过Servlet处理文件上传,将其保存到服务器的特定目录,并在数据库中记录文件元数据。 3. **文件下载**:根据文件ID或URL,Servlet查找并提供文件下载服务。 4. **文件管理**...
用Servlet实现的echarts展示两种不同形式图表的小demo,使用的开发工具是eclipse,...(ps:本人在另一个上传的文件中实现了用SSM框架实现的echarts展示图表的小demo,使用的数据库也是mysql,感兴趣的可以去看看)。
项目类型:Java web项目 项目名称:基于JSP+Servlet的文件上传与...项目简介:本系统主要演示文件的单个上传、多文件上传到数据库里面、以及文件下载,通过此案例,你将JSP+Servlet技术掌握文件上传与下载的技能。