jsp连接数据库(maria)实现操作固定写法

本文以留言板为例,主要用来记录以及为后期快速开发做准备。
这种最好用两个jsp来实现,思路比较清晰,不容易混淆,更容易去找问题。前端页面部分以message.jsp为例,后台处理部分(数据库操作)以sql为例。
一、 message部分
<%@page import="java.text.SimpleDateFormat" %>//时间格式设置包
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%> //数据库操作包
<%
Class.forName("org.mariadb.jdbc.Driver"); //maria数据库注册JDBC驱动//Class.forName("com.mysql.jdbc.Driver");//mysql数据库注册JDBC驱动
Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/messageboard", "bonly", "123456");
// DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名", "数据库用户名", "对应数据局库用户密码");

Statement stmt = conn.createStatement();//执行更新数据库
String sql = "select * from messageboard";//这里是数据库表名
ResultSet rs = stmt.executeQuery(sql);
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern("yyyy-MM-dd HH:mm:ss");//时间按照这样的格式显示

%>
<!DOCTYPE html>



留言板


留言板





//类型为隐藏,传值,有其他的需要传值,在用另一个form表单
提交


  • <%
    while (rs.next()) {
    int id = rs.getInt("id");//转换成整形
    String message = rs.getString("message");//从字符串中获取文本
    long time = rs.getInt("time") * 1000L;//换算成毫秒,方便计算机显示
    String username = rs.getString("username");
    String ip = rs.getString("ip");
    %>

  • 来自<%= ip%>的 <%=username%> 在<%=sdf.format(time)%>时说到:删除


    <%=message%>

    <%
    }
    %>
</body>

二、 sql部分

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8");
Class.forName("org.mariadb.jdbc.Driver");//圣母数据库注册JDBC驱动
//Class.forName("com.mysql.jdbc.Driver");//数据库注册JDBC驱动
Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/messageboard", "bonly", "123456");//连接数据库
Statement stmt = conn.createStatement();//声明语句,准备工作,创建数据库操作声明,为后面执行操作数据库做准备
String act = request.getParameter("act");//接受得到参数
if (act.equals("insert")) {
String message = request.getParameter("message");
String username = request.getParameter("username");
String ip = request.getRemoteAddr();//获取远程ip地址
int time = (int) (System.currentTimeMillis() / 1000);//换算成秒,默认输出的是毫秒
String sql = "insert into messageboard (message,username,ip,time) values('" + message + "','" + username + "','" + ip + "','" + time + "')";
out.println(sql);
try {
stmt.executeUpdate(sql);
out.println("");
} catch (SQLException e) {
out.print(e.toString());//打印错误
out.println("");
}
} else if (act.equals("delete")) {

    int id = Integer.parseInt(request.getParameter("id"));
    String sql = "delete from messageboard where id=" + id;
    stmt.executeUpdate(sql);
    out.println("<script>alert('删除成功,点击返回');document.location='message.jsp'</script>");
}
stmt.close();
conn.close();

%>

转载于:https://www.cnblogs.com/bonly-ge/p/6950530.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值