一个完整的新闻发布系统代码
环境 Tomcat + J SE + PostgreSQL
我将分几个步骤完成对一个新闻发布系统的构建 来理解JSP的一些基本使用方法!
首先我将先介绍这个新闻发布系统的基本结构
index jsp 管理员登陆界面 check jsp 验证管理员身份 main jsp 管理员添加新闻的页面 pub jsp 发布信息的页面 display 显示所有的新闻
而后台的程序主要有
DB java 数据库连接 MD java MD 算法 PubBean java 发布 CheckBean java 核实登陆身份
即当你从index > main > display 走一趟你基本就可以完成一个新闻发布系统的基本功能了!
我并非把新闻的标题和内容都写入数据库 因为那样太耗费数据库系统的资源 而且在访问的时候总要读取数
据库 很费劲 我把新闻写入了一个单独的HTM文件 之后把标题及HTM文件的名字写入的数据库!
而这个HTM文件的名字怎么随机生成呢?我选择了MD 算法 因为每个新闻的标题都不会相同 所以保证了唯一
性!
下面我先把这个系统的基本框架勾勒出来 说的大一点 这似乎就是这个“系统”的“内核”啦!:)
================数据库部分==================
CREATE TABLE administrator ( admin char( ) "password" char( ) ) WITHOUT OIDS; ALTER TABLE administrator OWNER TO admin;
CREATE TABLE news ( title char( ) page char( ) ) 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(" postgresql Driver"); conn = DriverManager getConnection
("jdbc:postgresql://localhost: /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 MD md ; public PubBean() { db = new DB(); md = new MD (); } 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(" _ ") "gb "); context = new String(context getBytes(" _ ") "gb "); String titleMD = md getkeyBeanofStr(title); db update("insert into news values( "+title+" "+titleMD +" )"); String file = "news\\ice"+titleMD +" "; 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/;charset=gb "%> <><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> </> <% String error=request getParameter("error"); error=new String(error getBytes(" _ ") "gb "); if(error==null) {} else{ %> <%=error%> <% } %>
check jsp
<%@ page contentType="text/;charset=gb "%> <%@ 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/;charset=gb "%> <% String admin =(String)(session getAttribute("admin")); if(admin==null){ response sendRedirect("index jsp"); } else{ %> <><head><title>新闻发布</title></head> <body> <form name=pub action="pub jsp" method="post"> 题目 <input type=text name=title><br> 内容 <textarea cols=" " rows=" " name=context></textarea><br> <input type=submit value="提交"><br> </form> </body> </> <%}%>
pub jsp
<%@ page contentType="text/;charset=gb "%> <% 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/;charset=gb "%> <%@ page import="java sql *"%> <% Class forName("sun jdbc odbc JdbcOdbcDriver"); Connection conn=DriverManager getConnection("jdbc:odbc:PostgreSQL" "" ""); Statement stmt=conn createStatement(); %> <><head><title>新闻</title></head> <body> <% ResultSet rs=stmt executeQuery("SELECT * FROM news"); //显示记录 while(rs next()){ out print("<a href=news/ice"+rs getString( )+" target=_blank>"+rs getString
( )+"</a>"); out println("<br>"); } %> </body> </>
好了 基本的东西都实现了 希望现在已经可以给你一个完整的面貌了 在后面的文章中 我再把程序一步步
的完善 增加一些新的功能!
import java lang reflect *;
public class MD { /* 下面这些S S 实际上是一个 * 的矩阵 在原始的C实现中是用#define 实现的 这里把它们实现成为static final是表示了只读 切能在同一个进程空间内的多个 Instance间共享*/ static final int S = ; static final int S = ; static final int S = ; static final int S = ;
static final int S = ; static final int S = ; static final int S = ; static final int S = ;
static final int S = ; static final int S = ; static final int S = ; static final int S = ;
static final int S = ; static final int S = ; static final int S = ; static final int S = ;
static final byte[] PADDING = { }; /* 下面的三个成员是keyBean计算过程中用到的 个核心数据 在原始的C实现中 被定义到keyBean_CTX结构中
*/ private long[] state = new long[ ]; // state (ABCD) private long[] count = new long[ ]; // number of bits modulo ^ (l *** first) private byte[] buffer = new byte[ ]; // input buffer
/* digestHexStr是keyBean的唯一一个公共成员 是最新一次计算结果的 进制ASCII表示 */ public String digestHexStr;
/* digest 是最新一次计算结果的 进制内部表示 表示 bit的keyBean值 */ private byte[] digest = new byte[ ];
/* getkeyBeanofStr是类keyBean最主要的公共方法 入口参数是你想要进行keyBean变换的字符串 返回的是变换完的结果 这个结果是从公共成员digestHexStr取得的. */ public String getkeyBeanofStr(String inbuf) { keyBeanInit(); keyBeanUpdate(inbuf getBytes() inbuf length()); keyBeanFinal(); digestHexStr = ""; for (int i = ; i < ; i++) { digestHexStr += byteHEX(digest[i]); } return digestHexStr;
} // 这是keyBean这个类的标准构造函数 JavaBean要求有一个public的并且没有参数的构造函数 public MD () { keyBeanInit();
return; }
/* keyBeanInit是一个初始化函数 初始化核心变量 装入标准的幻数 */ private void keyBeanInit() { count[ ] = L; count[ ] = L; ///* Load magic initialization constants
state[ ] = x L; state[ ] = xefcdab L; state[ ] = x badcfeL; state[ ] = x L;
return; } /* F G H I 是 个基本的keyBean函数 在原始的keyBean的C实现中 由于它们是 简单的位运算 可能出于效率的考虑把它们实现成了宏 在java中 我们把它们 实现成了private方法 名字保持了原来C中的 */
private long F(long x long y long z) { return (x & y) | ((~x) & z);
} private long G(long x long y long z) { return (x & z) | (y & (~z));
} private long H(long x long y long z) { return x ^ y ^ z; }
private long I(long x long y long z) { return y ^ (x | (~z)); }
/* FF GG HH和II将调用F G H I进行近一步变换 FF GG HH and II transformations for rounds and Rotation is separate from addition to prevent reputation */
private long FF(long a long b long c long d long x long s long ac) { a += F (b c d) + x + ac; a = ((int) a << s) | ((int) a >>> ( s)); a += b; return a; }
private long GG(long a long b long c long d long x long s long ac) { a += G (b c d) + x + ac; a = ((int) a << s) | ((int) a >>> ( s)); a += b; return a; } private long HH(long a long b long c long d long x long s long ac) { a += H (b c d) + x + ac; a = ((int) a << s) | ((int) a >>> ( s)); a += b; return a; } private long II(long a long b long c long d long x long s long ac) { a += I (b c d) + x + ac; a = ((int) a << s) | ((int) a >>> ( s)); a += b; return a; } /* keyBeanUpdate是keyBean的主计算过程 inbuf是要变换的字节串 inputlen是长度 这个 函数由getkeyBeanofStr调用 调用之前需要调用keyBeaninit 因此把它设计成private的 */ private void keyBeanUpdate(byte[] inbuf int inputLen) {
int i index partLen; byte[] block = new byte[ ]; index = (int)(count[ ] >>> ) & x F; // /* Update number of bits */ if ((count[ ] += (inputLen << )) < (inputLen << )) count[ ]++; count[ ] += (inputLen >>> );
partLen = index;
// Transform as many times as possible if (inputLen >= partLen) { keyBeanMemcpy(buffer inbuf index partLen); keyBeanTransform(buffer);
for (i = partLen; i + < inputLen; i += ) {
keyBeanMemcpy(block inbuf i ); keyBeanTransform (block); } index = ;
} else
i = ;
///* Buffer remaining input */ keyBeanMemcpy(buffer inbuf index i inputLen i);
}
/* keyBeanFinal整理和填写输出结果 */ private void keyBeanFinal () { byte[] bits = new byte[ ]; int index padLen;
///* Save number of bits */ Encode (bits count );
///* Pad out to mod index = (int)(count[ ] >>> ) & x f; padLen = (index < ) ? ( index) : ( index); keyBeanUpdate (PADDING padLen);
///* Append length (before padding) */ keyBeanUpdate(bits );
///* Store state in digest */ Encode (digest state );
}
/* keyBeanMemcpy是一个内部使用的byte数组的块拷贝函数 从input的inpos开始把len长度的 字节拷贝到output的outpos位置开始 */
private void keyBeanMemcpy (byte[] output byte[] input int outpos int inpos int len) { int i;
for (i = ; i < len; i++) output[outpos + i] = input[inpos + i]; }
/* keyBeanTransform是keyBean核心变换程序 有keyBeanUpdate调用 block是分块的原始字节 */ private void keyBeanTransform (byte block[]) { long a = state[ ] b = state[ ] c = state[ ] d = state[ ]; long[] x = new long[ ];
Decode (x block );
/* Round */ a = FF (a b c d x[ ] S xd aa L); /* */ d = FF (d a b c x[ ] S xe c b L); /* */ c = FF (c d a b x[ ] S x dbL); /* */ b = FF (b c d a x[ ] S xc bdceeeL); /* */ a = FF (a b c d x[ ] S xf c fafL); /* */ d = FF (d a b c x[ ] S x c aL); /* */ c = FF (c d a b x[ ] S xa L); /* */ b = FF (b c d a x[ ] S xfd L); /* */ a = FF (a b c d x[ ] S x d L); /* */ d = FF (d a b c x[ ] S x b f afL); /* */ c = FF (c d a b x[ ] S xffff bb L); /* */ b = FF (b c d a x[ ] S x cd beL); /* */ a = FF (a b c d x[ ] S x b L); /* */ d = FF (d a b c x[ ] S xfd L); /* */ c = FF (c d a b x[ ] S xa eL); /* */ b = FF (b c d a x[ ] S x b L); /* */
/* Round */ a = GG (a b c d x[ ] S xf e L); /* */ d = GG (d a b c x[ ] S xc b L); /* */ c = GG (c d a b x[ ] S x e a L); /* */ b = GG (b c d a x[ ] S xe b c aaL); /* */ a = GG (a b c d x[ ] S xd f dL); /* */ d = GG (d a b c x[ ] S x L); /* */ c = GG (c d a b x[ ] S xd a e L); /* */ b = GG (b c d a x[ ] S xe d fbc L); /* */ a = GG (a b c d x[ ] S x e cde L); /* */ d = GG (d a b c x[ ] S xc d L); /* */ c = GG (c d a b x[ ] S xf d d L); /* */ b = GG (b c d a x[ ] S x a edL); /* */ a = GG (a b c d x[ ] S xa e e L); /* */ d = GG (d a b c x[ ] S xfcefa f L); /* */ c = GG (c d a b x[ ] S x f d L); /* */ b = GG (b c d a x[ ] S x d a c aL); /* */
/* Round */ a = HH (a b c d x[ ] S xfffa L); /* */ d = HH (d a b c x[ ] S x f L); /* */ c = HH (c d a b x[ ] S x d d L); /* */ b = HH (b c d a x[ ] S xfde cL); /* */ a = HH (a b c d x[ ] S xa beea L); /* */ d = HH (d a b c x[ ] S x bdecfa L); /* */ c = HH (c d a b x[ ] S xf bb b L); /* */ b = HH (b c d a x[ ] S xbebfbc L); /* */ a = HH (a b c d x[ ] S x b ec L); /* */ d = HH (d a b c x[ ] S xeaa faL); /* */ c = HH (c d a b x[ ] S xd ef L); /* */ b = HH (b c d a x[ ] S x d L); /* */ a = HH (a b c d x[ ] S xd d d L); /* */ d = HH (d a b c x[ ] S xe db e L); /* */ c = HH (c d a b x[ ] S x fa cf L); /* */ b = HH (b c d a x[ ] S xc ac L); /* */
/* Round */ a = II (a b c d x[ ] S xf L); /* */ d = II (d a b c x[ ] S x aff L); /* */ c = II (c d a b x[ ] S xab a L); /* */ b = II (b c d a x[ ] S xfc a L); /* */ a = II (a b c d x[ ] S x b c L); /* */ d = II (d a b c x[ ] S x f ccc L); /* */ c = II (c d a b x[ ] S xffeff dL); /* */ b = II (b c d a x[ ] S x dd L); /* */ a = II (a b c d x[ ] S x fa e fL); /* */ d = II (d a b c x[ ] S xfe ce e L); /* */ c = II (c d a b x[ ] S xa L); /* */ b = II (b c d a x[ ] S x e a L); /* */ a = II (a b c d x[ ] S xf e L); /* */ d = II (d a b c x[ ] S xbd af L); /* */ c = II (c d a b x[ ] S x ad d bbL); /* */ b = II (b c d a x[ ] S xeb d L); /* */
state[ ] += a; state[ ] += b; state[ ] += c; state[ ] += d;
}
/*Encode把long数组按顺序拆成byte数组 因为java的long类型是 bit的 只拆低 bit 以适应原始C实现的用途 */ private void Encode (byte[] output long[] input int len) { int i j;
for (i = j = ; j < len; i++ j += ) { output[j] = (byte)(input[i] & xffL); output[j + ] = (byte)((input[i] >>> ) & xffL); output[j + ] = (byte)((input[i] >>> ) & xffL); output[j + ] = (byte)((input[i] >>> ) & xffL); } }
/*Decode把byte数组按顺序合成成long数组 因为java的long类型是 bit的 只合成低 bit 高 bit清零 以适应原始C实现的用途 */ private void Decode (long[] output byte[] input int len) { int i j;
for (i = j = ; j < len; i++ j += ) output[i] = b iu(input[j]) | (b iu(input[j + ]) << ) | (b iu(input[j + ]) << ) | (b iu(input[j + ]) << );
return; }
/* b iu是我写的一个把byte按照不考虑正负号的原则的"升位"程序 因为java没有unsigned运算 */ public static long b iu(byte b) { return b < ? b & x F + : b; }
/*byteHEX() 用来把一个byte类型的数转换成十六进制的ASCII表示 因为java中的byte的toString无法实现这一点 我们又没有C语言中的 sprintf(outbuf "% X" ib) */ public static String byteHEX(byte ib) { char[] Digit = { A B C D E F }; char [] ob = new char[ ]; ob[ ] = Digit[(ib >>> ) & X F]; ob[ ] = Digit[ib & X F]; String s = new String(ob); return s; } /* public static void main(String args[]) {
MD m = new MD (); System out println("我爱你 "+m getkeyBeanofStr("我爱你")); } */
lishixinzhi/Article/program/Java/JSP/201311/20523
新闻发布系统前台后台功能的描述
二、 后台系统功能描述 1 用户管理模块 用户管理模块包括添加用户,对用户基本信息的浏览,更改用户密码等功能。2.添加新闻内容模块 此模块完成新闻内容的添加的功能。需要输入要添加新闻的标题,新闻的内容,新闻的类别,发布人的信息等。此处添加的新闻将在前台系统中以分类的形式进行显示。3.新闻管理...
软文发布渠道有哪些可推荐(软文推广平台)
现代网络营销的重要策略之一,就是通过新闻稿发布软文发稿来提高品牌的影响力和知名度。随着网络的高速发展和用户需求的不断变化,企业和品牌需要一个高效、精准的营销推广平台,让自己的品牌在市场中脱颖而出。而迅推客传媒的全新软文发布系统正是为此而生。我们的产品具有多项特点,为企业和品牌的推广提供...
南阳网怎么发布新闻
通常,主页上会有一个名为"新闻投稿"、"我要投稿"、"新闻发布"等类似的链接或按钮。2、点击进入新闻发布页面,根据提示填写相关信息。这些信息可能包括标题、摘要、正文、作者、联系方式等。确保提供准确、清晰、完整的新闻内容。3、阅读并同意南阳网的相关条款和规定。遵守网站的发布规范和道德准则,确保...
新闻发稿哪里有?
2、可以借助平台发布新闻:现在有一些平台能够对我们的媒体新闻发稿进行发布,我们准备好已经排版好的正规的新闻稿,然后找到平台的工作人员,平台会根据我们的新闻稿件类型,选择适合的行业媒体进行发布,这种发稿方式的出稿速度非常快,稿件的曝光率非常高,有利于对新闻稿件更好推广。涉及到的行业包括新闻、...
新闻源发布平台效果最好的是哪家?
【点击领取免费品牌诊断方案】想要了解更多关于媒体发稿的相关问题,推荐咨询广之推网络科技。目前业务范围包括:整合营销、新媒体营销、企业建站、软文新闻营销、杂志刊发、媒体邀约、新闻发布会、论坛营销、问答营销、视频营销、微博营销、微信营销、直播营销、网络广告等全面的网络营销服务。无论是人才储备、...
新闻传播途径和方法有哪些,包括传统媒体和新媒体的传播途径,希望详细...
包括:1、传统媒体包括了:广播电视、报社杂志、新闻发布会、自发媒体(小报、传单)、营销策划等。2、新媒体:分为一代新媒体:网站(新闻类)、社交网络(人人,开心)、论坛、邮件列表、自有网站门户(公司或单位官方网站);二代新媒体:博客、微博、微信、IM软件、视频网站等自媒体渠道。3、新媒体传播...
建一个最简单新闻发布系统数据库需要哪些属性和字段拜托各位大神_百度...
max)可存储最大值为8000个字符的可变长字符串) 新闻关键字 Keywords varchar(200) 用逗号等符号分隔关键字(新闻,发布,系统) 新闻类别 CategoryId int (要使用类别的话要再建立一个类别的表) 如果要简单点可以省略关键字 类别等 要复杂点可以再加不少东西 比如加评论等对应的表 ...
如何在各大新闻媒体上发稿?
怎么向各个新闻媒体投稿?第一:投稿方式 1、直接联系想发布新闻的媒体工作人员 2、提交邮箱、网上、渠道等 3、等待媒体工作人员审核,通过后即可发布成功 优点:免费,缺点:耗时费力,出稿成功率低 第二:借助新闻发布平台 1、准备好内容正规、排版的新闻稿件 2、搜索“迅推客传媒”平台,进入官网后,...
百度新闻怎么发布
1、首先,可以通过关键字搜索排名:对于进行百度关键字竞标的客户,只要优化文章的关键字并发布1-5个关键字,通常在百度首页上保留约8-48小时将会被新信息取代,公司可以根据此关键字的热点安排是否每天发布。如下图所示。2、关于普通公关手稿:最好发布25家以上,以最大程度地增加该新闻的阅读量和百度...
怎么在新闻媒体上发稿?
想在官方媒体发稿,新闻发布要注意什么呢?这里推荐:迅推客传媒 网络新闻营销是现代互联网推广中最受欢迎的手段之一,新闻发布是新闻营销的“必经之路”。新闻发布具有经济实用、效果好的优势,受到公司的喜爱和青睐。写高质量的新闻稿,整合推广品牌关键词或产品词汇,做好标题和内容布局,然后通过大门户...
长孙陆盐酸: 星旧新闻管理系统 官网:http://www.dqe2008.com/ 我写的.
沿河土家族自治县15351368358: 用JSP做个新闻发布系统 - ?
长孙陆盐酸: 先写个需求分析么,看下都要实现什么功能,那样后面做起来就比较有条理 紧接着就是设计数据库啊,把所有表都设计好 OK,开始建立站点,编写代码 建议先从后台做起,如先做新闻表的增删改查,然后新闻类型表啊,用户表啊一类的增删改查 后台搭建好后着手完成前台的实现 要注意的问题就是登陆的验证,用户的审核,也就是权限分配
沿河土家族自治县15351368358: 用servlet+jsp+javaBean做的新闻发布系统 - ?
长孙陆盐酸: --先运行如下sql,建立一个合并函数 create function fmerg(@company varchar(200)) returns varchar(8000) as begin declare @str varchar(8000) set @str='' select @str=@str+','+jobname from zhaopin where company=@company set @str=right(@str,len(@str)-1) return(@str) End go--调用自定义函数得到结果 select distinct company,dbo
沿河土家族自治县15351368358: 急需一个ASP.NET的新闻发布系统的源代码而且可以生成静态页 - ?
长孙陆盐酸: http://down.dvbbs.net/new_Softview/SoftView_2454.asp iwms(动网新闻) 4.5 正式版
沿河土家族自治县15351368358: 求一完整可用的asp+access新闻发布系统 - ?
长孙陆盐酸: 网上下的 有一部分能正常使用 有一部分功能不全或功能限制 有一部分有后门木马病毒 只要没后门木马病毒就行 一般专业制作网站的人是不会给你的:因为其程序源码是为客户定制的,给了你有违职业操守 建议你在源码站找一适合你的源码 如果不能正常使用或有问题 再找人帮忙处理修复.其费用会减少到最低限度
沿河土家族自治县15351368358: 求一份asp+access编写的简单的新闻发布系统 急求! - ?
长孙陆盐酸: index.asp 文件<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>单文件留言板</title><style> body</style></head><body><div style="border-style:dotted; border-width:1px; POSITION:absolute; TOP:...
沿河土家族自治县15351368358: 关于新闻发布的代码 - ?
长孙陆盐酸: 初学jsp时做的dd,大概是2004年2月份吧,开发工具editor plus 数据库mysql 运行环境 resin 3.0系统介绍:1,新闻采用在线编辑器从别的网页copy过来,连接和图片、falsh等可以完整保留2,可web上传图片,小音频,视频信息或flash到服务器,直接添加到文章中3,大部分逻辑处理都封装在java-bean,界面修改容易4,栏目分类采用树形编码方式5,完善的权限管理方式,可为每个用户自定义后台权限
沿河土家族自治县15351368358: 谁帮我做一个jsp的新闻发布系统?
长孙陆盐酸: 你需要myeclipse,以及tomcat,这个就是你的工具.你用myeclipse写java代码和html代码,混合起来就是jsp(你可以这么认为,毕竟jsp就是在html中添加java代码,用括起来). 你写新闻系统,可能要用到java的框架. 对于你的要求,首先写...
沿河土家族自治县15351368358: 简单的JSP新闻发布系统源码?
长孙陆盐酸: www.llyxrj.com/llyxrj.rar NTsky新闻发布系统 不适合的话,去源码之家自己再找找.
沿河土家族自治县15351368358: 怎样做一个asp 的新闻发布系统??
长孙陆盐酸: 新闻发布系统其它很简单: 1、首先用HTML语言制作好新闻发布系统的静态格局和样式; 2、收集和整理发布新闻所需要的主要字段,如:标题,日期,发布人,浏览数量,内容等; 3、在数据库中建立新闻发布系统所需要的表,表中的字段要与第二步的相符合,类型要一致; 3、书写发布系统源代码.实际上这里的代码只需要完成两件事:第一,完成发布数据到动态页面的值传递;第二,把接收到的值存储到数据库指定表指定字段中即完成此项工作. 有点理论哈,希望对你的思路有帮助.建议你上网下载一个简单的新闻发布系统研究一下!