「新闻发布系统java」新闻发布系统Java
今天给各位分享新闻发布系统java的知识,其中也会对新闻发布系统Java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎样用Java做一个新闻发布系统
如果你自己不去想,再多人给你讲也没有用,别人的时间都是有限的,就算是你的老师也不能可从头到尾全给你讲,学习是你自己的事!
----------------------------------------------------------
你说的新闻发布系统,在专业术语叫做CMS(内容管理系统),要做一个CMS可大可小,如果你只想做一个简单的,其实也不难,我不知道你做这个是为了什么。
如果你是只是为了应付毕业设计,实在不会的话,我劝你买本相关的书看看就够了、
如果给你详细的将,恐怕一天都讲不完,不知道你现在是什么水平。
如果你在学校一直用心学,做这个应该不难,实现简单的CMS系统,你至少要有一个表存放新闻数据,然后用程序实现增删改功能,设计一个显示新闻的WEB界面,如果再好点,可以增加一些管理功能,我只能给你所说简单的思想,具体技术还得你自己去学。
J2EE相关知识你要有所了解,像是JDBC更是必须熟练,Java基础更不用说了,其他的像是开发框架你可以不用。但是基本的东西必须掌握。
如果你是在没有思路,你还是买本相关的书籍看看吧,外面有很多,虽然质量不高,但是应付这种小系统没什么问题。
Java新闻发布系统实现思路?
一、项目简介
项目是一套基于SSM实现的新闻发布系统 或 新闻管理系统 或 在线新闻系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。
详细介绍了新闻发布系统的实现,包括:
1.项目介绍
2.环境搭建
3.系统功能
4.技术实现
5.项目运行
6.功能演示
包含:
项目源码、项目文档、数据库脚本、软件工具等所有资料
带你从零开始部署运行本套系统
该项目附带的源码资料可作为毕设使用
提供技术答疑和远程协助指导
二、技术实现
后台框架:Spring、SpringMVC、MyBatis
UI界面:EasyUI、jQuery、JSP
数据库:MySQL
运行环境:
JDK 8
Eclipse
Tomcat 7.0
MySQL 5.5
三、系统功能
系统分为前台新闻阅览和后台新闻管理:
前台新闻阅览
新闻列表展示、新闻详细、新闻分类、新闻统计、新闻搜索
发表评论、最新评论文章列表
后台新闻管理
系统设置:菜单管理、角色管理、修改密码
用户管理:用户列表
新闻管理:分类管理、新闻管理、评论管理
系统日志:日志列表
具体可以参考 网页链接
用Java编辑的新闻发布系统
栏目--对应的就像是我们访问的新闻网中的各大栏目标题(例如:最新时事、国际新闻、国内新闻、。。。),对应的程序操作:增加栏目、修改栏目、删除栏目。栏目信息主要包括:栏目编号、栏目名称、栏目状态(启用、停用)等等类别--也就是新闻属于哪些类型,你要在需求分析中列出相应的类别,具体的程序操作:增加类别、删除类别、修改类别、(一般删除很少操作,因为删除一项类别的话很多新闻就没有类别了的)。类别信息主要包括:类别编号、类别名称、类别状态(启用、停用)等等新闻--新闻的标题、新闻发布的时间、发布的作者、内容、以及文章的编辑时间、编辑人、浏览次数等等,你可以再详细具体考虑还需要哪些字段信息。用户管理:主要是设计整个新闻发布系统的用户以及用户的权限。主要功能包括:增加用户、删除用户、修改用户。用户的信息主要包括:登录名、密码、真实姓名、性别、年龄、住址、手机、联系电话等等 因为我以前涉及到的新闻发布这块都是集成在系统中开发的,没有具体的独立的实例可以给你。我只能大概说说整个的需求分析。每项功能的数据要求不是很详细,不过作为教学的需要我觉得还是足够了的。
用java做一个CMS新闻发布系统,要用到access2003.
参考如下代码:
MS Access在测试阶段比较利于携带,Web开发初期我经常使用它。后期再移植到SQLServer或Oracle上。但最近在需要对数据库中插入图片文件时,发现了一个问题,即JDK自带的JDBC-ODBC不支持java.sql.Blob里的方法,经过查阅Java API和程序调试,我找到了个变通的方法,即:
1,在写入BLOB类型字段时,使用java.sql.PreparedStatement的setBinaryStream方法,
2,读出BLOB类型字段时,因为返回的是字节数组byte[]类型,可以把它转换成ByteArrayInputStream然后读出内容写到文件里去。
这样即使用JDK自带的JDBC-ODBC驱动, 也能自如的在数据库里读写上传下载的文件了,哈哈。
import java.sql.*;
import java.io.*;
//对BLOB字段先写入(要求被写入的文件存在),再读出来
//要求先建立一个item表,有三个字段,id(int),file_name(char),file_blob(blob)
//对Access, blob字段应该设置成为“OLE对象”类型
public class blobtest{
public static void main(String[] args){
Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=blob.mdb";
conn = DriverManager.getConnection(dbUrl,"","");
File file1=new File("fileToWrite.doc");
File file2=new File("fileRead.doc");
//BlobWriteForOracle( conn, file1);
//BlobReadForOracle( conn, file2);
BlobWriteForAccess( conn, file1);
BlobReadForAccess( conn, file2);
conn.close();
}catch(Exception ex){
System.err.println(ex.getMessage());
public static void BlobWriteForAccess( Connection conn, File file){
try{
conn.setAutoCommit(false); // 取消Connection对象的auto commit属性
String file_name=file.getName();
// get maxid ( to avoid insert id repeatly )
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select max(id) from item");
rs.next();
int maxid = rs.getInt(1);
//maxid = (maxid==null)?0:maxid;
int id = maxid+1 ;
//System.out.println("write_id="+id);
PreparedStatement pstmt = conn.prepareStatement( "insert into item ( id, file_name, file_blob ) values ( " + id + ", ? , ? )" );
FileInputStream in = new FileInputStream(file );
int length = in.available();
pstmt.setString( 1, file_name );
pstmt.setBinaryStream( 2, in , in.available() );
System.out.println( "插入了 "+ pstmt.executeUpdate ()+ " 行数据, "
+ "id =" + id
+ ", 文件名是" + file.toString() +" , 共 "+ length +" bytes" );
conn.commit();
pstmt.close();
}catch(Exception ex){
ex.printStackTrace();
System.out.print("["+ex.getMessage()+"]");
try{
conn.rollback();
}catch(SQLException sqle){
System.err.println(sqle.getMessage());
}
}
public static void BlobReadForAccess( Connection conn, File file){
try{
conn.setAutoCommit(false); // 取消Connection对象的auto commit属性
String file_name=file.getName();
// get maxid ( to avoid insert id repeatly )
Statement stmt1 = conn.createStatement();
ResultSet rs1 = stmt1.executeQuery("select max(id) from item");
rs1.next();
int maxid = rs1.getInt(1);
//maxid = (maxid==null)?0:maxid;
int id = maxid;
//System.out.println("read_id="+id);
String sql="SELECT file_blob FROM item WHERE id=" + id + ""; //
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
rs.next();
Object obj1 = rs.getObject("file_blob"); // 得到BLOB对象
//System.out.println("type is :"+obj1.getClass().getName());
byte[] blob=(byte[])obj1;
FileOutputStream out=new FileOutputStream(file); // 建立输出流
ByteArrayInputStream in=new ByteArrayInputStream(blob); // 建立输入流
int size=1024;
byte[] buffer=new byte[size]; // 建立缓冲区
int len;
while((len=in.read(buffer)) != -1)
out.write(buffer,0,len);
in.close();
out.close();
conn.commit();
}catch(Exception ex){
ex.printStackTrace();
System.out.print("["+ex.getMessage()+"]");
try{
conn.rollback();
}catch(SQLException sqle){
System.err.println(sqle.getMessage());
}
关于新闻发布系统java和新闻发布系统Java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。