简易的留言板系统文档格式.docx
- 文档编号:18590176
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:19
- 大小:156KB
简易的留言板系统文档格式.docx
《简易的留言板系统文档格式.docx》由会员分享,可在线阅读,更多相关《简易的留言板系统文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
然后在该数据库中建立上面提到的两个表:
userTable表、lyTable表。
userTable表:
lyTable表:
CREATETABLE`usertable`(
`id`int(11)NOTNULLauto_increment,
`username`varchar(50)defaultNULL,
`password`varchar(20)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE=MyISAMAUTO_INCREMENT=1DEFAULTCHARSET=gbk
CREATETABLE`lytable`(
`userId`int(11)defaultNULL,
`data`datetimedefaultNULL,
`title`varchar(50)defaultNULL,
`content`varchar(500)defaultNULL,
)ENGINE=MyISAMAUTO_INCREMENT=1DEFAULTCHARSET=gbk
3、新建项目
打开MyEclipse,新建项目,命名为“JSPExample”。
4、建立表对应的标准JavaBean
LyTable表对应的JavaBean。
packagemodel;
importjava.sql.Date;
publicclassLyTable{
privateintid;
privateintuserId;
privateDatedate;
privateStringtitle;
privateStringcontent;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
publicintgetUserId(){
returnuserId;
publicvoidsetUserId(intuserId){
this.userId=userId;
publicDategetDate(){
returndate;
publicvoidsetDate(Datedate){
this.date=date;
publicStringgetTitle(){
returntitle;
publicvoidsetTitle(Stringtitle){
this.title=title;
publicStringgetContent(){
returncontent;
publicvoidsetContent(Stringcontent){
this.content=content;
}
User表对应的标准JavaBean。
publicclassUser{
privateStringusername;
privateStringpassword;
publicStringgetUsername(){
returnusername;
publicvoidsetUsername(Stringusername){
this.username=username;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpassword){
this.password=password;
5、创建登录页面
首先还是先创建登录界面login.jsp。
<
%@pagelanguage="
java"
pageEncoding="
gb2312"
%>
html>
<
head>
title>
简易留言板<
/title>
/head>
bodybgcolor="
#E3E3E3"
>
<
formaction="
mainServlet"
method="
post"
<
table>
caption>
用户登录<
/caption>
<
tr>
td>
登录名:
/td>
inputtype="
text"
name="
username"
size=”20”/>
/tr>
密码:
password"
pwd"
size=”21”/>
/table>
submit"
value="
登录"
/>
reset"
重置"
/form>
如果没注册点击<
ahref="
register.jsp"
这里<
/a>
注册!
/body>
/html>
6、建立DB类
在src文件夹下建立包,命名为“db”,在db包中建立DB类。
packagedb;
importjava.sql.*;
importjava.util.ArrayList;
importjava.util.Date;
importmodel.LyTable;
importmodel.User;
publicclassDB{
Connectionct;
PreparedStatementpstmt;
//在构造函数中建立与数据库的连接,这样在建立DB对象时就连接了数据库
publicDB(){
try{
Class.forName("
org.gjt.mm.mysql.Driver"
);
ct=DriverManager.getConnection
("
jdbc:
mysql:
//localhost:
3306/javaee?
autoReconnect=true&
useUnicode=true&
characterEncoding=gbk"
"
root"
}catch(Exceptione){
e.printStackTrace();
}
//根据username和password查询用户,查到就返回该对象,没有就返回null
publicUsercheckUser(Stringusername,Stringpassword){
try{
pstmt=ct.prepareStatement("
select*fromuserTablewhereusername=?
andpassword=?
"
pstmt.setString(1,username);
pstmt.setString(2,password);
ResultSetrs=pstmt.executeQuery();
Useruser=newUser();
while(rs.next()){
user.setId(rs.getInt
(1));
user.setUsername(rs.getString
(2));
user.setPassword(rs.getString(3));
returnuser;
}
returnnull;
}catch(Exceptione){
//根据userId得到用户姓名
publicStringgetUserName(intuserId){
select*fromuserTablewhereid=?
pstmt.setInt(1,userId);
returnrs.getString("
//查询留言信息,返回一个ArrayList
publicArrayListfindLyInfo(){
ArrayListal=newArrayList();
pstmt=ct.prepareStatement("
select*fromlyTable"
LyTablely=newLyTable();
ly.setId(rs.getInt
(1));
ly.setUserId(rs.getInt
(2));
ly.setDate(rs.getDate(3));
ly.setTitle(rs.getString(4));
ly.setContent(rs.getString(5));
al.add(ly);
returnal;
//增加留言
publicbooleanaddInfo(LyTablely){
try{
insertintolyTable(userid,data,title,content)values(?
?
)"
pstmt.setInt(1,ly.getUserId());
pstmt.setDate(2,ly.getDate());
pstmt.setString(3,ly.getTitle());
pstmt.setString(4,ly.getContent());
pstmt.executeUpdate();
returntrue;
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
returnfalse;
//增加用户
publicbooleaninsertUser(Stringusername,Stringpwd){
insertintouserTable(username,password)values(?
pstmt.setString(2,pwd);
}
7、建立MainServlet类
当输入登录名和密码后,单击【登录】按钮,提交给了一个Servlet页面,且其URL为“mainServlet”。
在src文件夹下建立包,命名为“servlet”,表示该包下存放的都是Servelt类,如果文件多,可方便我们查询。
在servlet包下建立一个Servlet类,命名为“MainServlet”。
packageservlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importdb.DB;
publicclassMainServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//设置请求编码
request.setCharacterEncoding("
//设置响应编码
response.setContentType("
//获得JSP页面填入的用户名的值
Stringusername=request.getParameter("
//获得JSP页面填入的密码的值
Stringpwd=request.getParameter("
//建立DB类对象,使用其中的方法来完成判断
DBdb=newDB();
//获得session对象,用来保存信息,
HttpSessionsession=request.getSession();
//先获得user对象,如果是第一次访问该Servlet,用户对象肯定为空,但如果是第
//二次甚至是第三次,就不应该在判断该用户的信息。
Useruser=(User)session.getAttribute("
user"
//这里就是判断,如果用户是第一次进入,调用DB类里面的方法判断
if(user==null){
user=db.checkUser(username,pwd);
//把user对象存在session中
session.setAttribute("
user);
if(user!
=null){
//如果根据查询用户不为空的话,表示用户名和密码正确,应该去下一界面。
//这里是去主界面,主界面中包含了所有留言信息,所以要从留言表中查出来。
ArrayListal=db.findLyInfo();
//包查询的信息保存在session中
session.setAttribute("
al"
al);
//然后跳转到我们要去的主界面
response.sendRedirect("
main.jsp"
}else{
//如果用户名和密码错误的话回到登录界面
login.jsp"
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
doGet(request,response);
8、建立main.jsp
MainServlet中验证成功后会去main.jsp页面,而且在main.jsp页面中会显示所有留言信息。
%@pagelanguage="
import="
java.util.*"
pageEncoding="
%@pageimport="
model.LyTable"
db.DB"
留言板信息<
bodybgcolor="
formaction="
liuyan.jsp"
method="
tableborder="
1"
所有留言信息<
th>
留言人姓名<
/th>
留言时间<
留言标题<
留言内容<
%
ArrayListal=(ArrayList)session.getAttribute("
Iteratoriter=al.iterator();
while(iter.hasNext()){
LyTablely=(LyTable)iter.next();
%>
%=newDB().getUserName(ly.getUserId())%>
<
%=ly.getDate().toString()%>
%=ly.getTitle()%>
%=ly.getContent()%>
%
留言"
9、建立AddServlet类
importjava.io.PrintWriter;
importmodel.*;
publicclassAddServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
//获取title内容
Stringtitle=request.getParameter("
title"
//获取content内容
Stringcontent=request.getParameter("
content"
//从session中取出当前用户对象
Useruser=(User)request.getSession().getAttribute("
//建立留言表对应JavaBean对象,把数据封装进去
LyTablely=newLyTable();
ly.setUserId(user.getId());
//参数为获取的当前时间
ly.setDate(newDate(System.currentTimeMillis()));
ly.setTitle(title);
ly.setContent(content);
//调DB类中的方法判断是否插入成功
if(newDB().addInfo(ly)){
success.jsp"
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponserespo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 留言板 系统