一个完整的新闻发布系统

2008-02-23 07:46:52来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一个完整的新闻发布系统

关键字:JSP、Java、新闻发布
环境:Tomcat 5.5.7 J2SE 5.0 PostgreSQL 8.0

我将分几个步骤完成对一个新闻发布系统的构建,来理解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"%>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JSP技巧:发送动态图像

下一篇:struts的整体理解