<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> |
<% |
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" > |
< tr > |
< td colspan = "2" >< h1 > 留言本 </ h1 ></ td > |
</ tr > |
< form name = "form1" id = "form1" |
action="<%=basePath%>servlet/MessageServlet" method="post" |
onSubmit="javascript: return addCheck()"> |
< tr > |
< th width = "70" align = "right" > 姓名: </ th > |
< td width = "280" align = "left" >< input name = "name" type = "text" class = "input2" id = "name" ></ td > |
</ tr > |
< tr > |
< th > 主题: </ th > |
< td >< input name = "title" type = "text" class = "input1" ></ td > |
</ tr > |
< tr > |
< th >< span class = "STYLE1" >留言</ span >: </ th > |
< td >< textarea name = "content" id = "content" cols = "60" rows = "5" ></ textarea ></ td > |
</ tr > |
< tr > |
< td colspan = "2" align = "center" >< input type = "submit" name = "submit" id = "submit" value = "提交留言" class = "mybutton" > |
|
< input type = "button" name = "submit" id = "submit" value = "查看留言" |
onclick="window.location.href('<%=basePath%>servlet/MessageServlet?action=list&&p=1')" class="mybutton"> |
|
< input type = "reset" name = "reset" id = "reset" value = "重新填写" class = "mybutton" > |
< input name = "action" type = "hidden" id = "check" value = "add" ></ td > |
</ tr > |
</ form > |
</ table > |
</ body > |
</ html > |
<%@ 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" > |
< tr > |
< td width = "130" align = "right" > 姓名: </ td > |
< td width = "556" align = "left" ><%=message.getName()%></ td > |
</ tr > |
< tr > |
< td align = "right" > 主题: </ td > |
< td colspan = "3" align = "left" ><%=message.getTitle()%></ td > |
</ tr > |
< tr > |
< td align = "right" >< span class = "STYLE1" >内容</ span >: </ td > |
< td colspan = "3" align = "left" ><%=message.getContent()%></ td > |
</ tr > |
< div > < span style = "float: right; clear: both" > <%=message.getTime()%> </ span > < span ><%=i + 1%>楼</ span > </ div > |
</ table > |
< br > |
< div class = "line" > </ div > |
< br > |
<% |
} |
} else { |
out.print("< br >< br >还没有留言!< br >< br >"); |
} |
%> |
< div align = "center" > |
< input type = "button" value = "上一页" |
onclick="window.location.href('MessageServlet? action = list &p=<%=prep%>')"> |
|
< input type = "button" value = "下一页" |
onclick="window.location.href('MessageServlet? action = list &p=<%=nextp%>')"> |
|
< input type = "button" value = "返回" |
onclick = "window.location.href('../message.jsp')" > |
</ div > |
</ div > |
</ body > |
</ html > |
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() {<span></span> return name; |
} |
public void setName(String name) { |
this .name = name; |
} |
public String getTitle() { |
return title; |
} |
public void setTitle(String title) { |
this .title = title; |
} |
} |
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 { |
} |
} |
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; |
} |
} |
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( |
"**********" , "*********" ); // **********分别代表数据库用户名,密码 |
} 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 |
-- ---------------------------- |
INSERT INTO `message` VALUES ( '17' , '云代码' , '我的个人代码库' , 'www.yuncode.net' , '2012-09-26 22:27:56' ); |
INSERT INTO `message` VALUES ( '18' , '2L国际惯例' , '你懂的' , 'http://www.yuncode.net' , '2012-09-26 22:29:39' ); |
INSERT INTO `message` VALUES ( '19' , '3L留用' , '你懂的' , 'http://www.yuncode.net' , '2012-09-26 22:30:28' ); |
高级设计师
by: 小蜜锋 发表于:2012-09-26 22:49:18 顶(1) | 踩(0) 回复
jsp作业,你懂的。
网友回复
回复神马 : 懂了...
顶(1) 踩(0) 2012-09-28 16:01:29
回复评论