IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JSP文件上传到数据库,本文件参考于哔哩哔哩:DT课堂原名颜群UID:326782412,希望对各位有帮助,参考作者链接:【DT课堂原名颜群的个人空间-哔哩哔哩】https: |b23.tv/dAYw -> 正文阅读

[大数据]JSP文件上传到数据库,本文件参考于哔哩哔哩:DT课堂原名颜群UID:326782412,希望对各位有帮助,参考作者链接:【DT课堂原名颜群的个人空间-哔哩哔哩】https: |b23.tv/dAYw

1:jsp页面

<form action="UploadServlet" method="post" enctype="multipart/form-data" >
学号:<input name="userid"/><br>
姓名:<input name="username"/><br>
上传照片:<input type="file" name="spicture"/><br>
<input type="submit" value="注册">
</form>

2:servlet页面

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?request.setCharacterEncoding("UTF-8");
?? ??? ?response.setCharacterEncoding("utf-8");
?? ??? ?response.setContentType("text/html; charset=UTF-8");
?? ??? ?System.out.println("其他字段");
?? ??? ?int id=0;
?? ??? ?String name = null;
?? ??? ?String filepath;
?? ??? ?//上传
?? ??? ?try {
?? ??? ??? ?Boolean isMultipart=ServletFileUpload.isMultipartContent(request);
?? ??? ??? ?if(isMultipart)//判断jsp页面是否有mutipart属性
?? ??? ??? ?{
?? ??? ??? ??? ?FileItemFactory factory=new DiskFileItemFactory();
?? ??? ??? ??? ?ServletFileUpload upload=new ServletFileUpload(factory);
?? ??? ??? ??? ?//通过parseRequest解析form中的所有请求字段并保存到items集合中
?? ??? ??? ??? ?List<FileItem> items=upload.parseRequest(request);
?? ??? ??? ??? ?//遍历Items中的数据
?? ??? ??? ??? ?Iterator<FileItem> iter=items.iterator();
?? ??? ??? ??? ?while(iter.hasNext())
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?FileItem item=iter.next();
?? ??? ??? ??? ??? ?String itemName=item.getFieldName();//getFieldName获取普通字段
?? ??? ??? ??? ??? ?//判断前台字段是普通form表单字段(userid,username)还是文件字段
?? ??? ??? ??? ??? ?if(item.isFormField())
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?if(itemName.equals("userid"))
?? ??? ??? ??? ??? ??? ?{//根据name属性值item是(userid,username,spicture)
?? ??? ??? ??? ??? ??? ??? ? id=Integer.parseInt(item.getString("utf-8"));
?? ??? ??? ??? ??? ??? ??? ? System.out.println(id);
?? ??? ??? ??? ??? ??? ?}else if(itemName.equals("username"))
?? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ? name=item.getString("utf-8");
?? ??? ??? ??? ??? ??? ?}else
?? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ?System.out.println("其他字段");
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?}else {
?? ??? ??? ??? ??? ??? ?//spicture文件上传
?? ??? ??? ??? ??? ??? ?//文件名
?? ??? ??? ??? ??? ??? ?String filename=item.getName();//getName()获取文件名
?? ??? ??? ??? ??? ??? ?//获取文件内容并上传
?? ??? ??? ??? ??? ??? ?//定义文件路径
?? ??? ??? ??? ??? ??? ?System.out.println(filename);
?? ??? ??? ??? ??? ??? ?String path="E:\\jsp实验\\UpAndDown\\WebContent\\upload";
?? ??? ??? ??? ??? ??? ?filepath=path+"\\"+filename;
?? ??? ??? ??? ??? ??? ?System.out.println(filepath);
?? ??? ??? ??? ??? ??? ?File file=new File(path,filename);
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?try {
?? ??? ??? ??? ??? ??? ??? ?item.write(file);
?? ??? ??? ??? ??? ??? ??? ?Student student=new Student(id,name,filepath);
?? ??? ??? ??? ??? ??? ??? ?UserDao dao=new UserdaoImpl();
?? ??? ??? ??? ??? ??? ??? ?Boolean start=dao.Insert(student);
?? ??? ??? ??? ??? ??? ??? ?if(start=true)
?? ??? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ??? ?System.out.println("成功");
?? ??? ??? ??? ??? ??? ??? ?}else
?? ??? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ??? ?System.out.println("失败");
?? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ?

?? ??? ??? ??? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?}catch(FileUploadException e)
?? ??? ?{
?? ??? ??? ?e.printStackTrace();
?? ??? ?}

}

3:实体类

public class Student {
?? ?private int userid;
?? ?private String username;
?? ?private String filename;
?? ?public int getUserid() {
?? ??? ?return userid;
?? ?}
?? ?public void setUserid(int userid) {
?? ??? ?this.userid = userid;
?? ?}
?? ?public String getUsername() {
?? ??? ?return username;
?? ?}
?? ?public void setUsername(String username) {
?? ??? ?this.username = username;
?? ?}
?? ?public String getFilename() {
?? ??? ?return filename;
?? ?}
?? ?public void setFilename(String filename) {
?? ??? ?this.filename = filename;
?? ?}
?? ?public Student(int userid, String username, String filename) {
?? ??? ?super();
?? ??? ?this.userid = userid;
?? ??? ?this.username = username;
?? ??? ?this.filename = filename;
?? ?}
?? ?
}

4:数据库操作

//DBconnection.DBcon()这是自己封装的一个链接数据库方法返回对象为Connection

我就不写了需要的评论区见

public class UserdaoImpl implements UserDao ?{
?? ?public Boolean Insert(Student student) {
?? ??? ?Boolean start=false;
?? ??? ?PreparedStatement pstmt=null;
?? ??? ?
?? ??? ?try {
?? ??? ??? ?String sql="insert into student values(?,?,?)";
?? ??? ??? ?pstmt=DBconnection.DBcon().prepareStatement(sql);
?? ??? ??? ?pstmt.setInt(1, student.getUserid());
?? ??? ??? ?System.out.println(student.getUserid());
?? ??? ??? ?pstmt.setString(2, student.getUsername());
?? ??? ??? ?pstmt.setString(3, student.getFilename());
?? ??? ??? ?int count=pstmt.executeUpdate();
?? ??? ??? ?if(count>0)
?? ??? ??? ?{
?? ??? ??? ??? ?start=true;
?? ??? ??? ??? ?return start;
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?return start;
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}finally
?? ??? ?{
?? ??? ??? ?if(pstmt!=null)
?? ??? ??? ?{
?? ??? ??? ??? ?try {
?? ??? ??? ??? ??? ?pstmt.close();
?? ??? ??? ??? ??? ?DBconnection.DBcon().close();
?? ??? ??? ??? ?} catch (SQLException e) {
?? ??? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?}
?? ??? ?return start;
?? ?}
?? ??? ?

}
?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:54:36  更:2021-10-07 13:57:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:59:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码