基于JSP的新闻发布系统开题报告

时间:2024.4.14

  XX大学计算机学院

毕业设计开题报告

学生姓名:          号:                

    业:        计算机科学与技术          

设计题目:      基于JSP的新闻发布系统     

                                              

指导教师:                              

2011  年 3 月 14日  


第二篇:用JSP实现的一个完整的新闻发布系统


用JSP实现的一个完整的新闻发布系统

我将分几个步骤完成对一个新闻发布系统的构建,来理解JSP的一些基本使用方法!

首先我将先介绍这个新闻发布系统的基本结构:

index.jsp:管理员登陆界面

check.jsp:验证管理员身份

main.jsp:管理员添加新闻的页面

pub.jsp:发布信息的页面

display:显示所有的新闻

而后台的程序主要有:

DB.java:数据库连接

MD5.java:MD5算法

PubBean.java:发布

CheckBean.java:核实登陆身份

即当你从index -> main -> display 走一趟你基本就可以完成一个新闻发布系统的基本功能了!

我并非把新闻的标题和内容都写入数据库,因为那样太耗费数据库系统的资源,而且在访问的时候总要读取数 据库,很费劲,我把新闻写入了一个单独的HTM文件,之后把标题及HTM文件的名字写入的数据库!

而这个HTM文件的名字怎么随机生成呢?我选择了MD5算法,因为每个新闻的标题都不会相同,所以保证了唯一 性!

下面我先把这个系统的基本框架勾勒出来,说的大一点,这似乎就是这个“系统”的“内核”啦!:)

================数据库部分==================

CREATE TABLE administrator

(

admin char(16),

"password" char(32)

)

WITHOUT OIDS;

ALTER TABLE administrator OWNER TO admin;

CREATE TABLE news

(

title char(255),

page char(255)

)

WITHOUT OIDS;

ALTER TABLE news OWNER TO admin;

================程序部分==================

package login;

import java.sql.*;

public class DB {

private Connection conn;

private Statement stmt;

private ResultSet rs;

public DB() {

try {

Class.forName("org.postgresql.Driver");

conn = DriverManager.getConnection

("jdbc:postgresql://localhost:5432/news?user=admin&&password=");

stmt = conn.createStatement();

}

catch(Exception e) {

System.out.println(e);

}

}

public void update(String sql) {

try {

stmt.executeUpdate(sql);

}

catch(Exception e) {

System.out.println(e);

}

}

public ResultSet quarry(String sql) {

try {

rs = stmt.executeQuery(sql);

}

catch(Exception e) {

System.out.println(e);

}

return rs;

}

}

package login;

import java.sql.*;

import java.io.*;

public class PubBean {

private String title,context;

private DB db;

private MD5 md5;

public PubBean() {

db = new DB();

md5 = new MD5();

}

public void setTitle(String title){

this.title = title;

}

public void setContext(String context) {

this.context = context;

}

public void pubIt() {

try {

title = new String(title.getBytes("8859_1"),"gb2312");

context = new String(context.getBytes("8859_1"),"gb2312"); String titleMD5 = md5.getkeyBeanofStr(title);

db.update("insert into news values('"+title+"','"+titleMD5+"')"); String file = "news\\ice"+titleMD5+".htm";

PrintWriter pw = new PrintWriter(new FileOutputStream(file)); pw.println("<title>"+title+"</title>");

pw.println(context);

pw.close();

}

catch(Exception e){

System.out.println(e);

}

}

}

package login;

import java.sql.*;

public class CheckBean {

private String message="",admin,password;

private DB db;

public CheckBean() {

db = new DB();

}

public void setAdmin(String admin){

this.admin = admin;

}

public void setPassword(String password) {

this.password = password;

}

public String checkIt() {

try {

ResultSet rs = db.quarry("select * from administrator where admin='"+this.admin+"'");

while(rs.next()){

String pws = rs.getString("password").trim();

if(pws.equals(this.password)){

message = "密码正确!";

}

else message = "密码错误!";

return message;

}

message = "用户不存在!";

}

catch(Exception e) {

System.out.println(e);

}

return message;

}

}

================页面部分================== index.jsp:

<%@ page contentType="text/html;charset=gb2312"%> <html><head><title>登陆系统</title></head>

<body>

<form name="login" action="check.jsp" method="post"> 用户:<input type="text" name="admin"><br>

密码:<input type="password" name="password"><br>

<input type="submit" value="登陆"><br>

</form>

</body>

</html>

<%

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

error=new String(error.getBytes("8859_1"),"gb2312");

if(error==null) {}

else{

%>

<%=error%>

<%

}

%>

check.jsp

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="login.CheckBean"%>

<%

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

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

%>

<jsp:useBean id="checkBean" class="login.CheckBean"/>

<jsp:setProperty name="checkBean" property="admin" value="<%= admin.trim() %>"/>

<jsp:setProperty name="checkBean" property="password" value="<%= password.trim() %>"/> <%

String result = checkBean.checkIt();

if(result.equals("密码正确!")){

session.setAttribute("admin",admin);

response.sendRedirect("main.jsp");

}

else

{

%>

<jsp:forward page="index.jsp">

<jsp:param name="error" value="<%=result%>"/>

</jsp:forward>

<%

}

%>

main.jsp

<%@ page contentType="text/html;charset=gb2312"%>

<%

String admin =(String)(session.getAttribute("admin"));

if(admin==null){

response.sendRedirect("index.jsp");

}

else{

%>

<html><head><title>新闻发布</title></head>

<body>

<form name="pub" action="pub.jsp" method="post">

题目:<input type="text" name="title"><br>

内容:<textarea cols="100" rows="10" name="context"></textarea><br>

<input type="submit" value="提交"><br>

</form>

</body>

</html>

<%}%>

pub.jsp

<%@ page contentType="text/html;charset=gb2312"%>

<%

String admin = (String)(session.getAttribute("admin"));

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

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

if(admin == null){

response.sendRedirect("index.jsp");

}

else{

%>

<jsp:useBean id="pubBean" class="login.PubBean"/>

<jsp:setProperty name="pubBean" property="title" value="<%= title.trim() %>"/>

<jsp:setProperty name="pubBean" property="context" value="<%= context %>"/>

<%

pubBean.pubIt();

response.sendRedirect("display.jsp");

}

%>

display.jsp

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*"%>

<%

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

Connection conn=DriverManager.getConnection("jdbc:odbc:PostgreSQL","","");

Statement stmt=conn.createStatement();

%>

<html><head><title>新闻</title></head>

<body>

<%

ResultSet rs=stmt.executeQuery("SELECT * FROM news");

//显示记录

while(rs.next()){

out.print("<a href=news/ice"+rs.getString(2)+".htm target=_blank>"+rs.getString

(1)+"</a>");

out.println("<br>");

} %>

</body>

</html>

好了,基本的东西都实现了,希望现在已经可以给你一个完整的面貌了,在后面的文章中,我再把程序一步步的完善,增加一些新的功能!

更多相关推荐:
基于JSP的新闻发布系统开题报告

毕业设计论文开题报告题目基于JSP的新闻发布系统专业名称班级学号学生姓名指导教师填表日期年月日一选题的依据及意义21世纪是信息的时代是网络的时代进入信息社会高速发展的时代数字化革命给所有领域带来新的改变信息技术...

新闻发布系统开题报告

天津师范大学津沽学院

新闻发布系统开题报告

毕业论文开题报告毕业论文开题报告

新闻发布系统毕业设计开题报告

XX大学本科生毕业论文设计开题报告

新闻发布系统开题报告

山西大学本科毕业论文设计开题报告山西大学本科毕业论文设计开题报告山西大学本科毕业论文设计开题报告山西大学本科毕业论文设计开题报告山西大学本科毕业论文设计开题报告

新闻发布系统开题报告

毕业论文开题报告指导论文题目新闻发布系统指导教师指导方向jsp基与SQLserver20xx动态网站职称学历学生姓名所属班级20xx年01月14日

新闻发布系统的设计与实现_开题报告

北京科技大学远程与成人教育学院毕业设计北京科技大学远程与成人教育学院毕业设计开题报告毕业论文题目新闻发布系统的设计与实现学校名称北京科技大学远程与成人教育学院专业名称计算机科学与技术学生姓名白泽冰学习中心远程与...

在线考试系统设计与开发开题报告

毕业设计论文开题报告题目在线考试系统设计与开发系部信息工程系专业软件技术姓名陈敏佳学号G0930319指导教师刁爱军20xx年11月8日13系统开发工具本系统是基于Tomcat为服务器JSPMySQL数据库技术...

新闻发布系统毕业设计开题报告

XX大学本科生毕业论文设计开题报告

新闻发布系统论文开题报告

1背景介绍随着计算机及网络技术的飞速发展InternetIntranet应用在全球范围内日益普及当今社会正快速向信息化社会前进信息自动化的作用也越来越大从而使我们从繁杂的事务中解放出来提高了我们的工作效率另一方...

学院新闻发布系统开题报告

毕业设计论文开题报告题目学院专业班级学生姓名指导教师理工类学院新闻发布系统计算机工程学院软件工程D软件081骆颜学号510856114李老师20xx年3月15日淮海工学院毕业设计论文开题报告淮海工学院毕业设计论...

网上订餐系统开题报告

山西师范大学毕业论文毕业设计开题报告论文题目基于ASPNET网上订餐系统的设计与开发学院系数学与计算机科学学院专业计算机科学与技术姓名乔蕊学号0851030135指导教师王琛二一二年二月二十七日

新闻发布系统开题报告(25篇)