Web课程设计Word版

Web课程设计Word版
Web课程设计Word版

《Web课程设计》课程设计报告书

前言

Micro blog信息系统主要是一个校园微博系统,在该系统中可以注册、登录,同时还分普通会员登录及管理员登录。通过登录后,可实现发布、查询、删除微博等各项功能。

关键字:信息系统微博登录

系统分析

1.设计目的:

1.综合应用java程序设计、WEB程序设计、数据库应用、计算机网络等知识设计和实现我校Micro Blog信息系统。

2.通过上述设计和实现,加深对java程序设计、WEB程序设计、数据库应用、计算机网络相关理论的理解,锻炼综合应用所学知识分析问题和解决问题的能力。

3.培养软件开发的团队协作精神。

系统设计

1.设计内容:

(1)用户注册

(2)用户登录(分一般用户和管理员)

(3)某用户发布微博信息

(4)浏览所有用户的微博信息

(5)浏览指定用户的微博信息

(6)查询某些用户或(且)某时间段或(且)某论题的微博信息。(7)删除某些用户或(且)某时间段或(且)某论题的微博信息。(8)统计分析某时间段的用户数量,微博数量。

(9)发布重大消息或提示信息

(7-9基于管理员)

2.设计环境:

(1)完整实现设计内容所指定的功能

(2)应用服务器采用Tomcat 6.0或以上

(3)基于JSP编程

(4)开发工具采用Eclipse + DreamWeaver

(5)数据库采用ACCESS 2003

(6)用户界面友好

3.系统流程图:

数据库设计

在Micro blog信息系统中,共设计3张表。本系统使用Access来创建数据表。数据库的名称为WEB.mdb,三张表分别为admin、message、user。

表:admin

表:message

表:user

系统实现代码

Login.java

package mybean.data;

public class Login

{ String logname,

password,

backNews="";

boolean success=false;

public void setLogname(String name) { logname=name;

}

public String getLogname()

{return logname;

}

public void setPassword(String pw)

{ password=pw;

}

public String getPassword()

{return password;

}

public String getBackNews()

{ return backNews;

}

public void setBackNews(String s)

{ backNews=s;

}

public void setSuccess(boolean b)

{ success=b;

}

public boolean getSuccess()

{ return success;

}

}

Message.java

package mybean.data;

publicclass Message {

String logname="",message="",time="",title="",backNews;

publicvoid setLogname(String name)

{ logname=name;

}

public String getLogname()

{ return logname;

}

publicvoid setTitle(String t)

{ title=t;

}

public String getTitle()

{ return title;

}

publicvoid setTime(String t)

{ time=t;

}

public String getTime()

{ return time;

}

public String getMessage()

{ return message;

}

publicvoid setMessage(String m)

{ message=m;

}

public String getBackNews()

{ return backNews;

}

publicvoid setBackNews(String s)

{ backNews=s;

}

}

Register.java

package mybean.data;

publicclass Register

{ String logname="",password="",qq="",

email="", phone="";

String backNews;

publicvoid setLogname(String name)

{ logname=name;

}

public String getLogname()

{ return logname;

}

publicvoid setQq(String q)

{ qq=q;

}

public String getQq()

{ return qq;

}

publicvoid setPassword(String pw)

{ password=pw;

}

public String getPassword()

{ return password;

}

publicvoid setEmail(String em)

{ email=em;

}

public String getEmail()

{ return email;

}

publicvoid setPhone(String ph)

{ phone=ph;

}

public String getPhone()

{ return phone;

}

public String getBackNews()

{ return backNews;

}

publicvoid setBackNews(String s)

{ backNews=s;

}

}

ConditionQuery.java

package mybean.data;

import java.sql.*;

public class ConditionQuery

{ String logname ;

StringBuffer queryResultBylogname;

public ConditionQuery()

{ queryResultBylogname=new StringBuffer();

try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); }

catch(Exception e){ }

}

public void setlogname(String s)

{ logname=s.trim();

queryResultBylogname=new StringBuffer();

}

public String getlogname()

{ return logname;

}

public StringBuffer getQueryResultBylogname()

{ String condition="SELECT * FROM message Where logname = '"+logname+"'"; queryResultBylogname=f(condition);

return queryResultBylogname;

}

private StringBuffer f(String condition)

{ StringBuffer str=new StringBuffer();

Connection con;

Statement sql;

ResultSet rs;

try { String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=factory"; con=DriverManager.getConnection("jdbc:odbc:4073","","");

sql=con.createStatement();

rs=sql.executeQuery(condition);

str.append("

");

str.append("

");

str.append("

");

str.append("

");

str.append("

");

str.append("

");

str.append("

");

}

str.append("

"+"logname");

str.append("

"+"title");

str.append("

"+"message");

str.append("

"+"time");

while(rs.next())

{ str.append("

"+rs.getString(1)+""+rs.getString(2)+""+rs.getString(3)+""+rs.getString(4)+"
");

con.close();

}

catch(SQLException e)

{ System.out.println(e);

}

return str;

}

}

HandleAdmin.java

package myservlet.control;

import mybean.data.*;

import java.sql.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HandleAdmin extends HttpServlet

{ public void init(ServletConfig config) throws ServletException

{ super.init(config);

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(Exception e){}

}

public String handleString(String s)

{ try{ byte bb[]=s.getBytes("iso-8859-1");

s=new String(bb);

}

catch(Exception ee){}

return s;

}

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException

{ Connection con;

PreparedStatement sql;

Login loginBean=null;

String backNews="";

HttpSession session=request.getSession(true);

try{ loginBean=(Login)session.getAttribute("login");

if(loginBean==null)

{ loginBean=new Login();

session.setAttribute("login",loginBean);

}

}

catch(Exception ee)

{ loginBean=new Login();

session.setAttribute("login",loginBean);

}

String logname=request.getParameter("logname").trim(),

password=request.getParameter("password").trim();

boolean ok=loginBean.getSuccess();

logname=handleString(logname);

password=handleString(password);

if(ok==true&&logname.equals(loginBean.getLogname()))

{ backNews=logname+"你已经登录了";

loginBean.setBackNews(backNews);

}

else

{

boolean boo=(logname.length()>0)&&(password.length()>0);

try{ con=DriverManager.getConnection("jdbc:odbc:4073","",""); String condition="select * from admin where logname =? and password =?";

sql=con.prepareStatement(condition);

if(boo)

{ sql.setString(1,logname);

sql.setString(2,password);

ResultSet rs=sql.executeQuery();

boolean m=rs.next();

if(m==true)

{ backNews="管理员登录成功";

loginBean.setBackNews(backNews);

loginBean.setSuccess(true);

loginBean.setLogname(logname);

}

else

{ backNews="您登陆的管理员不存在,或密码不对";

loginBean.setBackNews(backNews);

loginBean.setSuccess(false);

loginBean.setLogname(logname);

loginBean.setPassword(password);

}

}

else

{ backNews="您输入的管理员不存在,或密码不对";

loginBean.setBackNews(backNews);

loginBean.setSuccess(false);

loginBean.setLogname(logname);

loginBean.setPassword(password);

}

con.close();

}

catch(SQLException exp)

{ backNews=""+exp;

loginBean.setBackNews(backNews);

loginBean.setSuccess(false);

}

}

RequestDispatcher

dispatcher=request.getRequestDispatcher("showAdminMess.jsp");

dispatcher.forward(request, response);

}

public void doGet(HttpServletRequest request,HttpServletResponse

response)

throws ServletException,IOException

{ doPost(request,response);

}

}

HandleLogin.java

package myservlet.control;

import mybean.data.*;

import java.sql.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HandleLogin extends HttpServlet

{ public void init(ServletConfig config) throws ServletException

{ super.init(config);

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(Exception e){}

}

public String handleString(String s)

{ try{ byte bb[]=s.getBytes("iso-8859-1");

s=new String(bb);

}

catch(Exception ee){}

return s;

}

public void doPost(HttpServletRequest request,HttpServletResponse

response)

throws ServletException,IOException

{ Connection con;

PreparedStatement sql;

Login loginBean=null;

String backNews="";

HttpSession session=request.getSession(true);

try{ loginBean=(Login)session.getAttribute("login");

if(loginBean==null)

{ loginBean=new Login();

session.setAttribute("login",loginBean);

}

}

catch(Exception ee)

{ loginBean=new Login();

session.setAttribute("login",loginBean);

}

String logname=request.getParameter("logname").trim(),

password=request.getParameter("password").trim();

boolean ok=loginBean.getSuccess();

logname=handleString(logname);

password=handleString(password);

if(ok==true&&logname.equals(loginBean.getLogname()))

{ backNews=logname+"你已经登录了";

loginBean.setBackNews(backNews);

}

else

{

boolean boo=(logname.length()>0)&&(password.length()>0);

try{ con=DriverManager.getConnection("jdbc:odbc:4073","",""); String condition="select * from user where logname =? and password =?";

sql=con.prepareStatement(condition);

if(boo)

{ sql.setString(1,logname);

sql.setString(2,password);

ResultSet rs=sql.executeQuery();

boolean m=rs.next();

if(m==true)

{ backNews="会员登录成功";

loginBean.setBackNews(backNews);

loginBean.setSuccess(true);

loginBean.setLogname(logname);

}

else

{ backNews="您输入的会员不存在,或密码不对";

loginBean.setBackNews(backNews);

loginBean.setSuccess(false);

loginBean.setLogname(logname);

loginBean.setPassword(password);

}

}

else

{ backNews="您输入的会员不存在,或密码不对";

loginBean.setBackNews(backNews);

loginBean.setSuccess(false);

loginBean.setLogname(logname);

loginBean.setPassword(password);

}

con.close();

}

catch(SQLException exp)

{ backNews=""+exp;

loginBean.setBackNews(backNews);

loginBean.setSuccess(false);

}

}

RequestDispatcher

dispatcher=request.getRequestDispatcher("showLoginMess.jsp");

dispatcher.forward(request, response);

}

public void doGet(HttpServletRequest request,HttpServletResponse

response)

throws ServletException,IOException

{ doPost(request,response);

}

}

HandleMessage.java

package myservlet.control;

import mybean.data.*;

import java.util.Date;

import java.text.SimpleDateFormat;

import java.sql.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HandleMessage extends HttpServlet

{ public void init(ServletConfig config) throws ServletException

{ super.init(config);

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(Exception e){}

}

public String handleString(String s)

{ try{ byte bb[]=s.getBytes("iso-8859-1");

s=new String(bb);

}

catch(Exception ee){}

return s;

}

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException

{ HttpSession session=request.getSession(true);

Login login=(Login)session.getAttribute("login"); //获取用户登录时的Javabean

boolean ok=true;

if(login==null)

{ ok=false;

response.sendRedirect("login.jsp"); //重定向到登录页面

}

if(ok==true)

{ continueWork(request,response);

}

}

public void continueWork(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException

{ HttpSession session=request.getSession(true);

Login login=(Login)session.getAttribute("login");

Connection con;

PreparedStatement sql;

String logname=login.getLogname();

Message mess=new Message();

request.setAttribute("message",mess);

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

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

Date now = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//参数为你需要的时间格式

String time = sdf.format(now);

String backNews="";

try{ con=DriverManager.getConnection("jdbc:odbc:4073","","");

String insertCondition="INSERT INTO message VALUES (?,?,?,?)";

sql=con.prepareStatement(insertCondition);

sql.setString(1,handleString(logname));

相关主题