java博客.docx
《java博客.docx》由会员分享,可在线阅读,更多相关《java博客.docx(17页珍藏版)》请在冰豆网上搜索。
![java博客.docx](https://file1.bdocx.com/fileroot1/2022-12/13/b7af9298-17a1-4358-9253-cef43dae9303/b7af9298-17a1-4358-9253-cef43dae93031.gif)
java博客
Java课程设计报告书
题目:
个人博客
班级:
0991111
学号:
1099111130
姓名:
陈天任
教师:
吕志峰
周期:
12.12——12.30
成绩:
2011年12月26日
个人博客
一、课程设计的目的与要求
(一)课程设计目的与任务
目的:
一个博客的整体设计规划到编写程序来进一步增加对于JAVA学习的实践经验,时DW用来做前台页面也更好的完善了整个制作流程的步骤。
通过程序的编写深一步了解异常处理的机制及JSP和数据库的连接。
任务:
编写一个个人博客可以对文章和留言进行管理等。
(二)题目要求
通过对一个博客的设计,在过程中学习使用DW对网页进行修改来达到自己最初的设想并不断对其进行优化。
其中个人博客要分为前后两部分,一方面要满足游客对博客浏览的需要,并可以对博客进行评论;另一方面博主则可以对博客的方方面面进行管理,包括写日志,改留言等等。
这些具体的功能则都由Servlet与数据库共同完成。
同时可以使用CSS,JS来进一步丰富个人博客的页面效果,进一步做好美工工作。
二、设计正文
1系统分析和开发背景
博客是WEBLOG的缩写,它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、链接、影音、图片建立起个性化的网络世界。
博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。
本系统是用JSP实现的一个完全基于浏览器的博客系统,具有登录博客系统的后台管理平台,撰写日志,日志管理,留言管理,浏览博客系统中的日志、留言、相册、视频,发表留言,检索日志。
2功能详细描述
a)博主登录:
户通过浏览器发送信息与数据库中存有的用户信息进行比对成功之后可以对整个博客进行管理。
b)编写日志:
登录成功之后可以在博客内增添新的文章。
c)留言板:
任何浏览博客的人都可以在留言板留下自己的痕迹。
d)管理日志及留言板:
可以对已经显示在博客上的内容进行删除等。
e)检索日志:
可以对现有日志进行查询。
f)小游戏、视频及相册:
通过在网页中插入FLASH等各种内容的形式丰富个人博客的内容。
3、数据结构或数据库设计
1.博主帐号密码
2.留言板
3.博客文章
4、主要功能逻辑过程和实现算法
首先在欢迎页面使用了从网上自学的嵌套表格来学以致用,嵌套表格有很多优点,网页的排版有时会很复杂,在外部需要一个表格来控制总体布局,如果内部排版的细节也通过总表格来实现,容易引起行高列宽等的冲突,给表格的制作带来困难。
其次,浏览器在解析网页的时候,是将整个网页的结构下载完毕之后才显示表格,如果不使用嵌套,表格非常复杂,浏览者要等待很长时间才能看到网页内容。
引入嵌套表格,由总表格负责整体排版,由嵌套的表格负责各个子栏目的排版,并插入到总表格的相应位置中,各司其职,互不冲突。
通过嵌套表格,利用表格的背景图像、边框、单元格间距和单元格边距等属性可以得到漂亮的边框效果,制作出精美的音画贴图网页。
用户登录代码通过把浏览器传入的内容与数据库进行比对得出是否允许登录的结果。
{request.setCharacterEncoding("gb2312");
response.setContentType("text/html");
response.setCharacterEncoding("gb2312");
PrintWriterout=response.getWriter();
Stringuid=request.getParameter("uid");
Stringpwd=request.getParameter("pwd");
Stringsql="select*fromstudentwhereuid='"+uid+"'andpwd='"+pwd+"'";
mydbdb1=newmydb();
ResultSetrs=db1.getquery(sql);
try
{
if(rs!
=null)
{
if(!
rs.next())
{
out.println("
用户名或密码错误
");
}
else
{
response.sendRedirect("main.jsp");
}
}
}
catch(Exceptionex)
{
System.out.println(ex.toString());
}
}
}
连接数据库:
importjava.sql.*;
publicclassmydb
{
privateStringdrivername="com.microsoft.sqlserver.jdbc.SQLServerDriver";
privateStringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=stu";
privateStringuid="sa";
privateStringpwd="";
privateConnectionconn=null;
publicmydb()
{
try
{
Class.forName(drivername);
conn=DriverManager.getConnection(url,uid,pwd);
}
catch(Exceptionex)
{
System.out.println(ex.toString());
}
}
publicResultSetgetquery(Stringsql)
{
ResultSetrs=null;
try
{
Statementst=conn.createStatement();
rs=st.executeQuery(sql);
}
catch(Exceptionex)
{
System.out.println(ex.toString());
}
returnrs;
}
publicintgetupdate(Stringsql)
{
inti=0;
try
{
Statementst=conn.createStatement();
i=st.executeUpdate(sql);
}
catch(Exceptionex)
{
System.out.println(ex.toString());
}
returni;
}
}
写日志及留言:
importjavax.servlet.http.HttpServlet;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.*;
importjava.sql.*;
publicclassRegistorFormextendsHttpServlet
{
Connectiondbcon;
protectedvoiddoPost(HttpServletRequestreq,
HttpServletResponseresp)
throwsServletException,
java.io.IOException
{
try
{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");dbcon=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=stu","sa","");
}
catch(Exceptione)
{
System.out.println("Databasenotfound!
");
}
resp.setContentType("text/html");
PrintWriterout=resp.getWriter();
Stringfirstname=req.getParameter("title");
Stringlastname=req.getParameter("nr");
introws=0;
try
{
PreparedStatementstat=dbcon.prepareStatement("insertstudentvalues(?
?
)");
stat.setString(1,firstname);
stat.setString(2,lastname);
rows=stat.executeUpdate();
}
catch(Exceptione)
{
System.out.println(e.toString());
}
if(rows==0)
{
System.out.println("ErrorInsert");
}
else
{
System.out.println("SuccessfulInsert");
}
out.println("");
out.println("Thankyou");
out.println("
");
out.println("