请尊重作者劳动成果,转载时但请务必标明出处!!本人保留追究法律责任的权利。谢谢合作!
下午终于实现了jsp连接MySQL执行插入操作的功能。在index.jsp页面输入数据,提交到mysql——insert.jsp页面进行插入数据库的操作。
index.jsp页面代码如下:
- <%@ page language="java" pageEncoding="utf-8"%>
- <%@ page contentType="text/html;charset=utf-8"%>
- <%
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html; charset=utf-8");
- %>
- <html>
- <head>
- </head>
- <body>
- <form action="mysql_insert.jsp" method="post">
- ID :<input type = "text" name="id" value="0"/>
- 姓名 :<input type = "text" name="name" value="aaa"/>
- 性别 :<input type = "text" name="sex" value="female"/>
- 年龄 :<input type = "text" name="age" value="20"/>
- </br>
- <input type = "submit" value="提交"/>
- </form>
- </body>
- </html>
mysql_insert.jsp的代码如下:
- <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
- <%@ page contentType="text/html;charset=utf-8"%>
- <%
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html; charset=utf-8");
- %>
- <html>
- <head>
- <title>add message into table </TITLE>
- </head>
- <body>
- <%
- String id=request.getParameter("id"); //从表单获得
- String name=request.getParameter("name"); //从表单获得
- String sex=request.getParameter("sex"); //从表单获得
- String age=request.getParameter("age"); //从表单获得
- java.util.Date date=new java.util.Date();
- String datetime=new Timestamp(date.getTime()).toString();
- try
- {
- /** 连接数据库参数 **/
- String driverName = "com.mysql.jdbc.Driver"; //驱动名称
- String DBUser = "root"; //mysql用户名
- String DBPasswd = "123456"; //mysql密码
- String DBName = "html_db"; //数据库名
- String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd;
- Class.forName(driverName).newInstance();
- Connection conn = DriverManager.getConnection(connUrl);
- Statement stmt = conn.createStatement();
- stmt.executeQuery("SET NAMES UTF8");
- String insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')";
- String query_sql = "select * from person_tb";
- try {
- stmt.execute(insert_sql);
- }catch(Exception e) {
- e.printStackTrace();
- }
- try {
- ResultSet rs = stmt.executeQuery(query_sql);
- while(rs.next()) {
- %>
- ID:<%=rs.getString("id")%> </br>
- 姓名:<%=rs.getString("name")%> </br>
- 性别:<%=rs.getString("sex")%> </br>
- 年龄:<%=rs.getString("age")%> </br> </br>
- <%
- }
- }catch(Exception e) {
- e.printStackTrace();
- }
- //rs.close();
- stmt.close();
- conn.close();
- }catch (Exception e) {
- e.printStackTrace();
- }
- %>
- </body>
- </html>
访问index.jsp后的页面:
输入测试数据,提交后得到如下页面:
数据库的变化情况如下:
关于jsp连接MySQL数据库时的乱码问题:
在输入数据的页面的编码方式要使用UTF-8、同时在接收数据的页面的编码方式要使用UTF-8,才能保证完全不会出现乱码。
mysql_query.jsp页面代码:
- <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
- <%@ page contentType="text/html;charset=utf-8"%>
- <%
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html; charset=utf-8");
- %>
- <html>
- <body>
- <%
- Connection con=null;
- String url="jdbc:mysql://localhost/html_db?user=root&password=123456";
- //html_db为数据库名
- Class.forName("org.gjt.mm.mysql.Driver").newInstance();//新建实例
- Connection conn= DriverManager.getConnection(url);//建立连接
- Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
- String sql="select * from person_tb";
- ResultSet rs=stmt.executeQuery(sql);
- while(rs.next()) {%>
- ID:<%=rs.getString("id")%> </br>
- 姓名:<%=rs.getString("name")%> </br>
- 性别:<%=rs.getString("sex")%> </br>
- 年龄:<%=rs.getString("age")%> </br> </br>
- <%}%>
- <%out.print("数据库操作成功,恭喜你!");%>
- <%
- rs.close();
- stmt.close();
- conn.close();
- %>
- </body>
- </html>
- 转自:blog.csdn.net/yutao929/article/details/9672285