qq_26817617
qq_26817617
采纳率25%
2017-07-21 01:40 阅读 1.7k

Javaweb初级问题:前台数据提交到后台数据库

10

一个Javabean,一个index界面,一个addbook界面,为啥数据提交不了呢?

package com.lyq.bean;
public class Book {
// 编号
private int id;
// 图书名称
private String name;
// 价格
private double price;
// 数量
private int bookCount;
// 作者
private String author;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getBookCount() {
return bookCount;
}
public void setBookCount(int bookCount) {
this.bookCount = bookCount;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



添加图书信息 function check(form){ with(form){ if(name.value == ""){ alert("图书名称不能为空"); return false; } if(price.value == ""){ alert("价格不能为空"); return false; } if(author.value == ""){ alert("作者不能为空"); return false; } return true; } }




























添加图书信息




图书名称:
价  格:
数  量:
作  者:






<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>



添加结果

<jsp:useBean id="book" class="com.lyq.bean.Book"></jsp:useBean>
<jsp:setProperty property="*" name="book"/>
<%  
    try {
        // 加载数据库驱动,注册到驱动管理器
        Class.forName("com.mysql.jdbc.Driver");
        // 数据库连接字符串
        String url = "jdbc:mysql://localhost:3306/db_database10";
        // 数据库用户名
        String username = "root";
        // 数据库密码
        String password = "123";
        // 创建Connection连接
        Connection conn = DriverManager.getConnection(url,username,password);
        // 添加图书信息的SQL语句
        String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)";
        // 获取PreparedStatement
        PreparedStatement ps = conn.prepareStatement(sql);
        // 对SQL语句中的第1个参数赋值
        ps.setString(1, book.getName());
        System.out.println("name:"+book.getName());
        // 对SQL语句中的第2个参数赋值
        ps.setDouble(2, book.getPrice());
        // 对SQL语句中的第3个参数赋值
        ps.setInt(3,book.getBookCount());
        // 对SQL语句中的第4个参数赋值
        ps.setString(4, book.getAuthor());
        // 执行更新操作,返回所影响的行数
        int row = ps.executeUpdate();
        // 判断是否更新成功
        if(row > 0){
            // 更新成输出信息
            out.print("成功添加了 " + row + "条数据!");
        }
        // 关闭PreparedStatement,释放资源
        ps.close();
        // 关闭Connection,释放资源
        conn.close();
    } catch (Exception e) {
        out.print("图书信息添加失败!");
        e.printStackTrace();
    }
%>
<br>
<a href="index.jsp">返回</a>


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • u014639382 叶之秋 2017-07-21 01:44

    有没有报什么异常信息?有的话贴出来

    点赞 评论 复制链接分享
  • yushiyoufight 半杯凉月 2017-07-21 01:48

    混合编程太费劲了不好定位问题,而且不易于理解整个提交数据的过程,建议分层

    点赞 评论 复制链接分享
  • github_39577257 YoreYuan 2017-07-21 02:10

    前端页面想向后台提交数据,要么用form表单提交,要么用ajax进行异步提交。

    点赞 评论 复制链接分享
  • qq_28053177 万灯皆明 2017-07-23 17:57

    前后台最好分离下,前端就写前端的,需要对数据库进行操作的传到后端去处理,你这样写很乱,代码可读性太差

    点赞 评论 复制链接分享

相关推荐