servlet怎么把复选框 数据库的值传到mysql数据库

web开发(10)
项目开始前找齐所需要的jar包&
我这里只做一个小的示例只需要这两个Jar包
做页面时需要的c标签库
mysql-connector-java-5.1.18-bin.jar& & & &用来连接数据库
这里先说一下我做这个项目是犯的错误
&& Can&not&find&the&tag&library&descriptor&for&&http://java.sun.om/jsp/jstl/core&
&& 主要原因是缺少&&jstl.jar&&。
* 数据库连接字符串
& jdbc:mysql://localhost:3306/test & & test为数据库名称
private static final String DATABASE_URL = &jdbc:mysql://10.10.10.116:3306/test&;
这里我犯的错误是&连接字符串
&这里因为我用的不是本机的数据库 所以不能用&localhost (只有数据库在本地时才能用localhost)
如果你要连接别人电脑的数据库就不能用jdbc:mysql://localhost:3306/“数据库名称”
只能用&jdbc:mysql://”域名“:3306/“数据库名称” & &否则获取连接会报错
还有一个需要注意的问题
web.xml文件中
&servlet&&
&servlet-name&StudentsAdd&/servlet-name&
&servlet-class&servlet/StudentsAdd&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&StudentsAdd&/servlet-name&
&url-pattern&/studentsAdd&/url-pattern&大写S会怎样呢?? --&
&url-pattern&/studentsAdd&/url-pattern&
&/servlet-mapping&
servlet节点下的属性
servlet-name:servlet的名称
servlet-class:servlet的路径名 (其实就是包名+文件名称)
servlet-mapping节点下的属性
servlet-name:servlet的名称
url-pattern:/servlet的名称 (注意:这个名称一定要小写)
这些就是我碰到的问题,如果有哪里说错了希望给我提供更正的建议谢谢。
这里是连接数据库的辅助类 任何一个(没有用框架的)项目都能用
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
import java.util.ArrayL
import model.S
public class DBConnection {
* 驱动类名称
private static final String DRIVER_CLASS = &com.mysql.jdbc.Driver&;
* 数据库连接字符串
jdbc:mysql://localhost:3306/test 这种方式只对本地的数据库有用
test为数据库名称
private static final String DATABASE_URL = &jdbc:mysql://10.10.10.116:3306/test&;
* 数据库用户名
private static final String USER_NAME = &root&;
* 数据库密码
private static final String PASSWORD = &123456&;
* 数据库连接类
private static C
* 数据库操作类
private static S
// 加载驱动
Class.forName(DRIVER_CLASS);
} catch (Exception e) {
System.out.println(&加载驱动错误&);
System.out.println(e.getMessage());
// 取得连接
private static Connection getConnection(){
conn = DriverManager.getConnection(DATABASE_URL, USER_NAME, PASSWORD);
} catch (Exception e) {
System.out.println(&取得连接错误&);
System.out.println(e.getMessage());
* 执行 增、删、改 操作
* @param sql
public void ExecuteDel(String sql){
stmt = getConnection().createStatement();
} catch (Exception e) {
System.out.println(&statement取得错误&);
System.out.println(e.getMessage());
int rows = stmt.executeUpdate(sql);
if(rows &= 1){
System.out.println(&成功删除.....&);
System.out.println(&删除失败.....&);
} catch (Exception e) {
// TODO: handle exception
* 读取数据库中的数据(查询操作)
* @param sql
public ArrayList&Student& getStudentList(String sql){
ArrayList&Student& list = new ArrayList&Student&();
// 取得数据库操作对象
stmt = getConnection().createStatement();
} catch (Exception e) {
System.out.println(&statement取得错误&);
System.out.println(e.getMessage());
// 查询数据库对象,返回记录集(结果集)
ResultSet rs = stmt.executeQuery(sql);
// 循环记录集,查看每一行每一列的记录
while (rs.next()) {
// 第一列 sno
int sno = rs.getInt(1);
// 第2列 sname
String sname = rs.getString(2);
Student stu = new Student();
stu.setId(sno);
stu.setName(sname);
list.add(stu);
} catch (Exception e) {
System.out.println(e.getMessage());
public class Student {
public int getId() {
public void setId(int id) {
public String getName() {
public void setName(String name) {
this.name =
import java.io.IOE
import java.util.ArrayL
import javax.servlet.ServletE
import javax.servlet.annotation.WebS
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import model.S
import util.DBC
* Servlet implementation class StudentsAdd
@WebServlet(&/StudentsAdd&)
public class StudentsAdd extends HttpServlet {
private static final long serialVersionUID = 1L;
* @see HttpServlet#HttpServlet()
public StudentsAdd() {
// TODO Auto-generated constructor stub
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DBConnection db = new DBConnection();
String sql = &select * from test&;
ArrayList&Student& list = db.getStudentList(sql);
request.setAttribute(&list&, list);
request.getRequestDispatcher(&index.jsp&).forward(request, response);
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance& xmlns=&http://xmlns.jcp.org/xml/ns/javaee& xsi:schemaLocation=&http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd& id=&WebApp_ID& version=&3.1&&
&display-name&test1&/display-name&
&servlet-name&StudentsAdd&/servlet-name&
&servlet-class&servlet/StudentsAdd&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&StudentsAdd&/servlet-name&
&url-pattern&/studentsAdd&/url-pattern&大写S会怎样呢?? --&
&url-pattern&/studentsAdd&/url-pattern&
&/servlet-mapping&
&welcome-file-list&
&welcome-file&index.html&/welcome-file&
&welcome-file&index.htm&/welcome-file&
&welcome-file&index.jsp&/welcome-file&
&welcome-file&default.html&/welcome-file&
&welcome-file&default.htm&/welcome-file&
&welcome-file&default.jsp&/welcome-file&
&/welcome-file-list&
&/web-app&我这个实验表中只有两列哦
&%@ page language=&java& import=&java.util.*& pageEncoding=&utf-8&%&
&%@ taglib prefix=&c& uri=&/jsp/jstl/core& %&
&!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN&&
&title&list&/title&
&meta http-equiv=&pragma& content=&no-cache&&
&meta http-equiv=&cache-control& content=&no-cache&&
&meta http-equiv=&expires& content=&0&&
&meta http-equiv=&keywords& content=&keyword1,keyword2,keyword3&&
&meta http-equiv=&description& content=&This is my page&&
&link rel=&stylesheet& type=&text/css& href=&styles.css&&
&c:redirect &c:if test=&${list==null}&&url=&/StudentsAdd&&/c:if&&&/c:redirect& --%&
&table border=&1&&
&td&编号&/td&
&td&姓名&/td&
&c:forEach items=&${list}& var=&stu&&
&td&${stu.id }&/td&
&td&${stu.name }&/td&
&/c:forEach&
访问路劲为http://localhost:8080/项目名称/StudentsAdd
项目可以到我的资源中下载。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6946次
排名:千里之外
原创:29篇
转载:27篇
(4)(1)(3)(3)(2)(9)(13)(4)(2)(12)(2)servlet+JSP+mysql实现文件上传的方法
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了servlet+JSP+mysql实现文件上传的方法,涉及JSP文件传输与判断及数据库操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了servlet+JSP+mysql实现文件上传的方法。分享给大家供大家参考,具体如下:
一、文件上传的基本操作:
1、 表单属性enctype的设置
multipart/form-data和application/x-www-form-urlencoded的区别
FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。
然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。
在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。
Browser端&form&表单的ENCTYPE属性值为multipart/form-data,它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,&input&的type属性必须是file。
实现过程:
package cn.csdn.web.
import java.io.F
import java.io.FileOutputS
import java.io.IOE
import java.io.InputS
import java.sql.SQLE
import java.util.L
import java.util.UUID;
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import javax.sql.DataS
import mons.dbutils.QueryR
import mons.fileupload.FileI
import mons.fileupload.FileUploadBase.FileSizeLimitExceededE
import mons.fileupload.FileUploadE
import mons.fileupload.disk.DiskFileItemF
import mons.fileupload.servlet.ServletFileU
import cn.csdn.web.c3p0.DBManager_c3p0;
public class Upload2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//实例化一个文件工厂
DiskFileItemFactory factory=new DiskFileItemFactory();
factory.setRepository(new File("C:\\osp"));
String paramName=
String paramValue=
//配置上传组件ServletFileUpload
ServletFileUpload upload=new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
upload.setFileSizeMax();
//从request得到所有上传域的列表
List&FileItem& list=upload.parseRequest(request);
for(FileItem item:list){
//如果是上传域的文件域
if(item.isFormField()){
//表单普通输入项
paramName = item.getFieldName(); //上传于的Name
// String paramValue=item.getString();
// paramValue=new String(paramValue.getBytes("iso8859-1"),"UTF-8");
paramValue=item.getString("UTF-8");
System.out.println(paramName+"="+paramValue);
//上传文件处理
String fileName = item.getName();
fileName=fileName.substring(fileName.lastIndexOf("\\")+1); //截取扩展名
System.out.println("name="+fileName);
if(!fileName.equals("")){
// fileName=refactorFileName(fileName);
InputStream in=item.getInputStream();
File file = new File("c:\\"+fileName);
FileOutputStream os=new FileOutputStream(file);
byte[] buf = new byte[1024];
int len=0;
while((len=in.read(buf))&0){
os.write(buf,0,len);
os.flush();
os.close();
in.close();
item.delete();
request.setAttribute("message", "文件上传成功");
DataSource ds = DBManager_c3p0.getDataSource();
QueryRunner runner = new QueryRunner(ds);
String sql = "insert into user(name,file) values(?,?)";
Object[] params = {paramValue,fileName};
runner.update(sql, params);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch(FileSizeLimitExceededException e1){
e1.printStackTrace();
request.setAttribute("message", "文件尺寸太大");
}catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
request.setAttribute("message", "文件上传失败");
request.getRequestDispatcher("/message.jsp").forward(request, response);
// public String refactorFileName(String fileName){
// return UUID.randomUUID().toString()+"_"+fileN
二、上传文件要注意的有:
注意编码问题 防止出现中文乱码 上边列举出一种
其他的还有临时文件解决问题 临时文件删除问题
解决没有指定文件名的问题
判断获取的文件名是否为空
保存路径问题
如表示url资源时应该用斜杠 “/”
如表示硬盘路径时用斜杠“\\”
为保证服务器安全,上传的文件应禁止用户直接访问,通常保存在应用程序的WEB-INF目录下,或者不受WEB服务器管理的目录
希望本文所述对大家jsp程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具servlet怎么把复选框的值传到mysql数据库_百度知道请问怎么获取jsp页面上复选框的内容,然后把在复选框上所选择的内容提交保存到mysql数据库_百度知道

我要回帖

更多关于 mysql数据库 的文章

 

随机推荐