zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

基于mysql数据库的JSP留言本代码详解编程语言

mysqlJSP数据库编程语言代码 详解 基于 留言本
2023-06-13 09:20:30 时间
String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" html head base href=" %=basePath% " title 留言给我 /title meta http-equiv="Content-Type" content="text/html; charset=utf-8" / style type="text/css" !-- textarea { FONT: 12px Tahoma; COLOR: #333333; margin-top: 3px; margin-bottom: 3px; .input1 { width: 300px; height: 25px; margin-top: 3px; margin-bottom: 3px; .input2 { width: 150px; height: 25px; margin-top: 3px; margin-bottom: 3px; .submit1 { width: 50px; border: #CCCCCC solid 1px; height: 30px; background: #FFFFFF #form1 tr th { text-align: right; input { text-align: left; body { font-family: "微软雅黑", Verdana, sans-serif, "宋体"; color: #333; .mybutton { width: 70px; height: 25px; margin-top: 5px; margin-bottom: 5px; text-align: center; h1 { margin-top: 100px; margin-bottom: 50px; color: #999; font-weight: bold; font-size: 36px; /style script function addCheck() { var name = document.getElementById("name").value; var title = document.getElementById("title").value; var content = document.getElementById("content").value; if (name == "") { alert("姓名容都不能为空!") document.getElementById("name").focus(); return false; if (title == "") { alert("主题都不能为空!") document.getElementById("title").focus(); return false; if (content == "") { alert("内容不能为空!") document.getElementById("content").focus(); return false; /script /head body table width="400" align="center" cellpadding="2" cellspacing="0" td colspan="2" h1 留言本 /h1 /td /tr form name="form1" id="form1" action=" %=basePath% servlet/MessageServlet" method="post" onSubmit="javascript: return addCheck()" th width="70" align="right" 姓名: /th td width="280" align="left" input name="name" type="text" id="name" /td /tr th 主题: /th td input name="title" type="text" /td /tr th span 留言: /th td textarea name="content" id="content" cols="60" rows="5" /textarea /td /tr td colspan="2" align="center" input type="submit" name="submit" id="submit" value="提交留言" nbsp; input type="button" name="submit" id="submit" value="查看留言" nbsp; input type="reset" name="reset" id="reset" value="重新填写" input name="action" type="hidden" id="check" value="add" /td /tr /form /table /body /html

showMessage.jsp

 %@ page language="java" import="java.util.*,com.demo.Message" 

 pageEncoding="utf-8"% 

 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 

 html 

 head 

 title 查看留言 /title 

 meta http-equiv="Content-Type" content="text/html; charset=utf-8" / 

 style type="text/css" 

.line { 

 border-bottom-width: 1px; 

 border-bottom-style: dashed; 

 border-bottom-color: #666; 

 height: 10px; 

body { 

 margin-right: auto; 

 margin-left: auto; 

 text-align: center; 

 max-width: 960px; 

#main { 

 border: 3px solid #999; 

 background-color: #f5f5f5; 

 padding: 1px; 

 margin-right: auto; 

 margin-left: auto; 

 width: 960px; 

#main table tr td { 

 white-space: normal; 

 /style 

 /head 

 body 

 div id="main" 

 div align="center" 

 h1 留言列表 /h1 

 /div 

 response.setCharacterEncoding("utf-8"); 

 int p = 1; 

 ArrayList messageList = (ArrayList) request.getAttribute("list"); 

 int prep = p; // 上一页 

 int nextp = p; // 下一页 

 if (messageList.size() == 5) { 

 nextp = p + 1; 

 if (p 1) { 

 prep = p - 1; 

 if (!messageList.isEmpty()) { 

 for (int i = 0; i messageList.size(); i++) { 

 Message message = (Message) messageList.get(i); 

 table width="700" border="1" align="center" cellpadding="2" 

 cellspacing="0" 

 td width="130" align="right" 姓名: /td 

 td width="556" align="left" %=message.getName()% /td 

 /tr 

 td align="right" 主题: /td 

 td colspan="3" align="left" %=message.getTitle()% /td 

 /tr 

 td align="right" span 内容: /td 

 td colspan="3" align="left" %=message.getContent()% /td 

 /tr 

 div span %=message.getTime()% span %=i + 1% 楼 /div 

 /table 

 div /div 

 } else { 

 out.print(" br br 还没有留言! br br 

 div align="center" 

 input type="button" value="上一页" 

 nbsp; 

 input type="button" value="下一页" 

 nbsp; 

 input type="button" value="返回" 

 /div 

 /div 

 /body 

 /html 

com.demo包

Message.java

package com.demo; 

 * 留言实体封装类 

public class Message { 

 private int id; 

 private String name; 

 private String title; 

 private String content; 

 private String time; 

 public String getTime() { 

 return time; 

 public void setTime(String time) { 

 this.time = time; 

 public String getContent() { 

 return content; 

 public void setContent(String content) { 

 this.content = content; 

 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 String getTitle() { 

 return title; 

 public void setTitle(String title) { 

 this.title = title; 

MessageServlet.java

package com.demo; 

import java.io.IOException; 

import java.io.PrintWriter; 

import java.util.List; 

import javax.servlet.ServletException; 

import javax.servlet.http.HttpServlet; 

import javax.servlet.http.HttpServletRequest; 

import javax.servlet.http.HttpServletResponse; 

import com.demo.Message; 

import com.demo.MessageDao; 

public class MessageServlet extends HttpServlet { 

 public void destroy() { 

 super.destroy(); 

 public void doGet(HttpServletRequest request, HttpServletResponse response) 

 throws ServletException, IOException { 

 response.setContentType("text/html"); 

 doPost(request, response); 

 public void doPost(HttpServletRequest request, HttpServletResponse response) 

 throws ServletException, IOException { 

 request.setCharacterEncoding("utf-8"); 

 response.setContentType("text/html"); 

 response.setCharacterEncoding("utf-8"); 

 PrintWriter out = response.getWriter(); 

 String action = request.getParameter("action"); 

 if (action.equals("add")) { 

 this.addMessage(request, response); // 发表留言 

 if (action.equals("list")) { // 前台留言列表 

 this.listMessage(request, response); 

 /** 

 * 发表留言 

 public void addMessage(HttpServletRequest request, 

 HttpServletResponse response) throws ServletException, IOException { 

 PrintWriter out = response.getWriter(); 

 String name = request.getParameter("name"); 

 String title = request.getParameter("title"); 

 String content = request.getParameter("content"); 

 Message message = new Message(); 

 message.setName(name); 

 message.setTitle(title); 

 message.setContent(content); 

 MessageDao messageDao = new MessageDao(); 

 messageDao.addMessage(message); 

 out.print(""); 

 /** 

 * @前台查看所有留言 

 public void listMessage(HttpServletRequest request, 

 HttpServletResponse response) throws ServletException, IOException { 

 PrintWriter out = response.getWriter(); 

 int page = Integer.parseInt(request.getParameter("p")); 

 MessageDao messageDao = new MessageDao(); 

 List list = null; 

 list = messageDao.listByPage(page); 

 request.setAttribute("list", list); 

 request.getRequestDispatcher("../showMessage.jsp").forward(request, 

 response); 

 public void init() throws ServletException { 

MessageDao.java

package com.demo; 

import java.sql.Connection; 

import java.sql.PreparedStatement; 

import java.sql.ResultSet; 

import java.sql.SQLException; 

import java.util.ArrayList; 

import java.util.List; 

import com.demo.DbConnection; 

import com.demo.Message; 

 * 留言保存数据库访问类 

public class MessageDao { 

 private Connection coon = null; 

 private PreparedStatement pstmt = null; 

 private ResultSet rs = null; 

 private String sql = ""; 

 public MessageDao() { 

 coon = DbConnection.getConnection(); 

 /** 

 * 保存留言 

 public void addMessage(Message message) { 

 System.out.println(message.getName()); 

 coon = DbConnection.getConnection(); 

 sql = "INSERT INTO `message` ( name, title,content,time)VALUES (?,?,?,now())"; 

 try { 

 pstmt = coon.prepareStatement(sql); 

 pstmt.setString(1, message.getName()); 

 pstmt.setString(2, message.getTitle()); 

 pstmt.setString(3, message.getContent()); 

 pstmt.executeUpdate(); 

 } catch (SQLException e) { 

 e.printStackTrace(); 

 /** 

 * 查询所有留言 

 public List listByPage(int page) { 

 int num = 5;// 每页显示的记录数 

 List list = new ArrayList(); 

 int rowBegin = 0; 

 int rowEnd = 0; 

 if (page 1) { 

 rowBegin = num * (page - 1); 

 rowEnd = rowBegin + num; 

 sql = "select * from message where id limit " + rowBegin + "," 

 + rowEnd; 

 } else { 

 sql = "select * from message order by id limit 5"; 

 try { 

 pstmt = coon.prepareStatement(sql); 

 rs = pstmt.executeQuery(); 

 while (rs.next()) { 

 Message message = new Message(); 

 message.setId(rs.getInt(1)); 

 message.setName(rs.getString(2)); 

 message.setTitle(rs.getString(3)); 

 message.setContent(rs.getString(4)); 

 message.setTime(rs.getDate(5) + " " + rs.getTime(5)); 

 list.add(message); 

 } catch (SQLException e) { 

 e.printStackTrace(); 

 return list; 

DbConnection.java

package com.demo; 

import java.sql.Connection; 

import java.sql.DriverManager; 

 * 数据库连接类 

public class DbConnection { 

 public static Connection getConnection() { 

 Connection conn = null; 

 try { 

 Class.forName("com.mysql.jdbc.Driver"); 

 conn = DriverManager 

 .getConnection( 

 "jdbc:mysql://127.0.0.1:3306/message?useUnicode=true characterEncoding=utf8", 

 "**********", "*********"); // **********分别代表数据库用户名,密码 

 } catch (Exception e) { 

 e.printStackTrace(); 

 if (conn == null) { 

 System.out.println("no get connection!throws Exception"); 

 return conn; 

数据库脚本

-- ---------------------------- 

-- Table structure for `message` 

-- ---------------------------- 

DROP TABLE IF EXISTS `message`; 

CREATE TABLE `message` ( 

 `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 

 `name` varchar(200) NOT NULL, 

 `title` varchar(200) NOT NULL, 

 `content` varchar(500) NOT NULL, 

 `time` datetime NOT NULL, 

 PRIMARY KEY (`id`) 

) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; 

-- ---------------------------- 

-- Records of message 

-- ---------------------------- 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10928.html

cjavamysql