sqlserver+jsp+java bean上传文字和图片

时间: 2023-12-30 07:03:00 浏览: 35
要实现在 JSP 页面中上传文字和图片,需要涉及到以下几个步骤: 1. 编写 JSP 页面,设置表单,包含文字和图片上传控件。 2. 在 JSP 页面中,使用 JavaBean 技术获取表单提交的数据,包括文字和图片。 3. 将获取到的数据插入到 SQL Server 数据库中,包括文字和图片。 下面是一个简单的实现示例: 1. 编写 JSP 页面 ```jsp <form action="upload.jsp" method="post" enctype="multipart/form-data"> <label for="title">标题:</label> <input type="text" id="title" name="title"><br> <label for="content">内容:</label> <textarea id="content" name="content"></textarea><br> <label for="image">图片:</label> <input type="file" id="image" name="image"><br> <input type="submit" value="提交"> </form> ``` 2. 编写 JavaBean ```java public class UploadBean { private String title; private String content; private String imagePath; public UploadBean(HttpServletRequest request) throws IOException, ServletException { title = request.getParameter("title"); content = request.getParameter("content"); Part imagePart = request.getPart("image"); if (imagePart != null) { String imageName = getSubmittedFileName(imagePart); imagePath = "/uploads/" + imageName; String realPath = request.getServletContext().getRealPath("/uploads"); File imageFile = new File(realPath, imageName); try (InputStream is = imagePart.getInputStream(); OutputStream os = new FileOutputStream(imageFile)) { byte[] buffer = new byte[1024]; int length; while ((length = is.read(buffer)) != -1) { os.write(buffer, 0, length); } } } } public void saveToDatabase() throws SQLException, ClassNotFoundException { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase"; String username = "myuser"; String password = "mypassword"; try (Connection conn = DriverManager.getConnection(url, username, password)) { String sql = "INSERT INTO mytable (title, content, image_path) VALUES (?, ?, ?)"; try (PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, title); stmt.setString(2, content); stmt.setString(3, imagePath); stmt.executeUpdate(); } } } private String getSubmittedFileName(Part part) { String header = part.getHeader("content-disposition"); if (header == null) { return null; } for (String token : header.split(";")) { if (token.trim().startsWith("filename")) { return token.substring(token.indexOf('=') + 1).trim().replace("\"", ""); } } return null; } } ``` 3. 编写 JSP 页面处理上传操作 ```jsp <%@ page import="java.io.*, java.sql.*" %> <%@ page import="javax.servlet.http.*, javax.servlet.*" %> <% try { UploadBean uploadBean = new UploadBean(request); uploadBean.saveToDatabase(); out.println("上传成功!"); } catch (Exception e) { out.println("上传失败:" + e.getMessage()); } %> ``` 在这个示例中,我们使用 JavaBean 技术获取表单提交的数据,并将图片保存到服务器上的指定目录中。然后,我们使用 SQL Server JDBC 驱动程序将数据插入到数据库中。最后,在 JSP 页面中展示上传结果。

相关推荐

最新推荐

recommend-type

Java面试笔试资料大全

17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 90 18、MVC的各个部分都有那些技术来实现?如何实现? 90 19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种...
recommend-type

教学、学习必备:jsp教案

7.1 创建SQLSERVER数据库 169 7.2JDBC 169 7.3数据库的连接方式 169 7.3.1JDBC-ODBC桥连接 170 7.3.2使用纯Java数据库驱动程序 172 7.4查询操作 175 7.4.1顺序查询 176 7.4.2随机查询 184 7.4.3条件查询 190 7.4.5 ...
recommend-type

ssh(structs,spring,hibernate)框架中的上传下载

WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...
recommend-type

中小型超市综合信息管理系统-毕业设计(论文).doc

该系统完成日常超市的综合信息管理和维护,它主要包括以下几个模块:人事信息管理模块,主要...1.使用JSP+Java Bean,HTML,SQLServer2000及DreamWaver工具制作。2.建立系统所需的数据库。 3.使用jdbc与后台数据库相连接。
recommend-type

基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip

基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。