新闻发布管理系统
新闻发布及管理系统的设计与实现,是动态网页和数据库结合,通过事件来处理新闻。我们对最新信息的更新和发布需要比较及时,而动态交互网页能实现这些功能,新闻发布及管理系统就是一个能够在网上实现新闻的发布及管理,让人们更好的获取更新的新闻资讯。
功能流程图
1、用例图:
2、操作流程图
功能页面截图
后台登录页面:
主页面:
用户登录:
栏目管理:
资讯管理:
新闻评论管理:
新闻发布:
技术点介绍
系统运行平台:Tomcat7.0 + JDK1.8 + Windows 7
开发语言:JSP
数据库:MySql
开发环境: MyEclipse
源码(部分)
1、bean类:NewsBean.java
package com.bean;
/**
* 新闻管理
*
*/
import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.util.Constant;
import com.util.DBO;
public class NewsBean {
private String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
private List list;
private ResultSet rs = null;
//不置顶新闻分页
private int EVERYPAGENUM = 2;
private int count = -1;
private int qq = 0;
private String sql="select count(*) from fz_news";
private String sql2="select * from fz_news order by id desc";
public void setEVERYPAGENUM(int EVERYPAGENUM){
this.EVERYPAGENUM=EVERYPAGENUM;
}
public int getMessageCount() { //得到信息总数
DBO dbo=new DBO();
dbo.open();
try {
rs = dbo.executeQuery(sql);
rs.next();
count = rs.getInt(1);
return count;
} catch (SQLException ex) {
ex.printStackTrace();
return -1;
} finally {
dbo.close();
}
}
public int getPageCount() { //得到共多少页(根据每页要显示几条信息)
if (count % EVERYPAGENUM == 0) {
return count / EVERYPAGENUM;
} else {
return count / EVERYPAGENUM + 1;
}
}
public List getMessage(int page) { //得到每页要显示的信息
DBO dbo=new DBO();
dbo.open();
List list = new ArrayList();
try {
rs = dbo.executeQuery(sql2);
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
qq++;
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list2.add(rs.getString(8));
list.add(list2);
} else {
break; //减少空循环的时间
}
}
return list;
} catch (SQLException ex) {
ex.printStackTrace();
return list;
} finally {
dbo.close();
}
}
//add news
public int addNews(String title,String fenlei,String content,String adder,String gjz){
String sql = "insert into fz_news (title,fenlei,content,addtime,adder,visit,gjz) " +
"values ('"+title+"','"+fenlei+"','"+content+"','"+date+"','"+adder+"','0','"+gjz+"')";
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//update news
public int updateNews(int id,String title,String fenlei,String content,String adder,String gjz){
String sql = "update fz_news set title = '"+title+"',fenlei = '"+fenlei+"',content='"+content+"',addtime='"+date+"'," +
"adder='"+adder+"',gjz='"+gjz+"' where id = '"+id+"' ";
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//delete news
public int delNews(int id[]){
DBO dbo = new DBO();
dbo.open();
try{
for(int i = 0;i<id.length;i++){
dbo.executeUpdate("delete from fz_news where id = '"+id[i]+"'");
}
return Constant.SUCCESS;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
public void del(String filepath) {
try{
File f = new File(filepath);//定义文件路径
if(f.exists()){//判断是文件还是目录
f.delete();//递归调用
}
}catch(Exception e){
}
}
//get one news to update
public List getOneNews(int id){
String sql = "select * from fz_news where id = '"+id+"'";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
list.add(rs.getString(1));//0id
list.add(rs.getString(2));//1title
list.add(rs.getString(3));//2content
list.add(rs.getString(4));//3addtime
list.add(rs.getString(5));//4adder
list.add(rs.getString(6));//4adder
list.add(rs.getString(7));//4adder
list.add(rs.getString(8));//4adder
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
//get news count
public int getNewsCount(){
String sql = "select count (*) from fz_news ";
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
return rs.getInt(1);
}
else{
return 0;
}
}catch(Exception e){
e.printStackTrace();
return 0;
}finally{
dbo.close();
}
}
//
//首页10条新闻
public List getIndexNews(){
//String sql = "select id,type,title,addtime from news where ifhide='1' order by id desc limit 0,10";
String sql = "select id,title,addtime from fz_news order by id desc limit 0,10";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getString("id"));
list2.add(rs.getString("title"));
list2.add(rs.getString("addtime"));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
// 首页12条新闻
public List getIndexNews12(){
String sql = "select id,title,addtime from fz_news where ifhide='1' order by id desc limit 0,13";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
for(int i=0;i<6;i++){
rs.next();
}
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getString("id"));
list2.add(rs.getString("title"));
list2.add(rs.getString("addtime"));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
//前台新闻页新闻列表
public List getAllNews(){
String sql = "select id,title,addtime from fz_news order by id desc ";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getString("id"));
list2.add(rs.getString("title"));
list2.add(rs.getString("addtime"));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
public List getaNews(){
String sql = "select * from fz_news order by id desc limit 0,10";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getString(1));//0id
list2.add(rs.getString(2));//1title
list2.add(rs.getString(3));//2content
list2.add(rs.getString(4));//3addtime
list2.add(rs.getString(5));//4adder
list2.add(rs.getString(6));//4adder
list2.add(rs.getString(7));//4adder
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
// 5条热门新闻
public List get10HotNews(){
String sql = "select * from fz_news order by visit desc limit 0,10 ";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getString(1));//0id
list2.add(rs.getString(2));//1title
list2.add(rs.getString(3));//2content
list2.add(rs.getString(4));//3addtime
list2.add(rs.getString(5));//4adder
list2.add(rs.getString(6));//4adder
list2.add(rs.getString(7));//4adder
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
// 更新点击率
public int upVisit(int id){
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate("update fz_news set visit=visit+1 where id = '"+id+"'");
if(i==1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
public int addFenlei(String title){
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate("insert into fenlei(title,addtime) values('"+title+"','"+date+"')");
if(i==1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
public int delFenlei(String id){
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate("delete from fenlei where id='"+id+"'");
if(i==1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
public int delMethod(String sql){
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i==1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
public List getFenlei(){
String sql = "select* from fenlei order by id asc";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
public List getGuoLv(){
String sql = "select* from guolv order by id asc";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
public List getPl(String nid){
String sql = "select* from pl where nid='"+nid+"' order by id desc";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
public int getMessageCountSs(String sql) { //得到信息总数
DBO dbo=new DBO();
dbo.open();
try {
rs = dbo.executeQuery(sql);
rs.next();
count = rs.getInt(1);
return count;
} catch (SQLException ex) {
ex.printStackTrace();
return -1;
} finally {
dbo.close();
}
}
public List getMessageSS(int page,String sql2,int jj) { //得到每页要显示的信息
DBO dbo=new DBO();
dbo.open();
List list = new ArrayList();
try {
rs = dbo.executeQuery(sql2);
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
qq++;
List list2=new ArrayList();
for(int mm=1;mm<=jj;mm++){
list2.add(rs.getString(mm));
}
list.add(list2);
} else {
break; //减少空循环的时间
}
}
return list;
} catch (SQLException ex) {
ex.printStackTrace();
return list;
} finally {
dbo.close();
}
}
}
AdminBean.java:
package com.bean;
/**
*
* 管理员登陆 修改密码 登陆记录查询 通用类文件
*
*/
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.util.Constant;
import com.util.DBO;
public class AdminBean {
private List list;
private ResultSet rs = null;
private int EVERYPAGENUM = 2;
private int count = -1;
private int qq = 0;
private String sql="select count(*) from fz_adminlog";
private String sql2="select * from fz_adminlog order by id desc ";
//声明时间变量
String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
//分页查询登陆日志
public void setEVERYPAGENUM(int EVERYPAGENUM){
this.EVERYPAGENUM=EVERYPAGENUM;
}
public int getMessageCount() { //得到信息总数
DBO dbo=new DBO();
dbo.open();
try {
rs = dbo.executeQuery(sql);
rs.next();
count = rs.getInt(1);
return count;
} catch (SQLException ex) {
ex.printStackTrace();
return -1;
} finally {
dbo.close();
}
}
public int getPageCount() { //得到共多少页(根据每页要显示几条信息)
if (count % EVERYPAGENUM == 0) {
return count / EVERYPAGENUM;
} else {
return count / EVERYPAGENUM + 1;
}
}
public List getMessage(int page) { //得到每页要显示的信息
DBO dbo=new DBO();
dbo.open();
List list = new ArrayList();
try {
rs = dbo.executeQuery(sql2);
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
qq++;
List list2=new ArrayList();
list2.add(rs.getString("id"));
list2.add(rs.getString("username"));
list2.add(rs.getString("password"));
list2.add(rs.getString("logintime"));
list2.add(rs.getString("loginip"));
list2.add(rs.getString("useros"));
list2.add(rs.getString("ok"));
list.add(list2);
} else {
break; //减少空循环的时间
}
}
return list;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
} finally {
dbo.close();
}
}
//管理员登录 更新登录次数 写登录日志
public int adminLogin(String username,String md5password,String password,String loginip,String useros){
String sql = "select * from fz_admin where username = '"+username+"' and isuse='1'";
// String sql2 = "insert into fz_adminlog(username,password,logintime,loginip,useros,ok) values('"+username+"','"+md5password+"','"+date+"','"+loginip+"','"+useros+"','true')";
//String sql3 = "insert into fz_adminlog(username,password,logintime,loginip,useros,ok) values('"+username+"','"+password+"','"+date+"','"+loginip+"','"+useros+"','false')";
String sql4 = "update fz_admin set logintimes = logintimes+1 where username = '"+username+"' ";
DBO dbo = new DBO();
String pwd;
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
pwd = rs.getString("password");
if(pwd.trim().equals(md5password)){
//dbo.executeUpdate(sql2);
dbo.executeUpdate(sql4);
return Constant.SUCCESS;
}
else{
//dbo.executeUpdate(sql3);
return Constant.PASSWORD_ERROR;
}
}
else{
//dbo.executeUpdate(sql3);
return Constant.NAME_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//查询管理员信息
public List getAdminInfo(String username){
String sql = "select * from fz_admin where username='"+username+"' ";
DBO dbo = new DBO();
dbo.open();
list = new ArrayList();
try{
rs = dbo.executeQuery(sql);
rs.next();
list.add(rs.getString("username"));
list.add(rs.getString("flag"));
list.add(rs.getString("logintimes"));
list.add(date);
list.add(rs.getString("quanxian"));
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
//admin edit password
public int editPassword(String username,String oldpwd,String newpwd){
String sql="select * from fz_admin where username = '"+username+"' and password = '"+oldpwd+"'";
String sql2="update fz_admin set password = '"+newpwd+"' where username = '"+username+"'";
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
int i = dbo.executeUpdate(sql2);
if(i == 1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}
else{
return Constant.PASSWORD_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//add manager
public int addManager(String username,String password,String type,String isuse){
String sql = "insert into fz_admin(username,password,creattime,flag,isuse,logintimes,quanxian) values('"+username+"','"+password+"','"+date+"','"+type+"','"+isuse+"','0','111')";
String sql2 = "select * from fz_admin where username = '"+username+"'";
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql2);
if(rs.next()){
return Constant.SAME_NAME;
}
else{
int i = dbo.executeUpdate(sql);
if(i == 1)return Constant.SUCCESS;
else return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//update manager
public int updateManager(String username,String password,String type,String isuse){
String sql;
if(password.equals("")){
sql = "update fz_admin set flag = '"+type+"' ,isuse = '"+isuse+"' where username = '"+username+"'";
}
else{
sql = "update fz_admin set password = '"+password+"' ,flag = '"+type+"' ,isuse = '"+isuse+"' where username = '"+username+"'";
}
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)return Constant.SUCCESS;
else return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//get all manager
public List getAllManager(){
String sql = "select * from fz_admin where flag !='1' order by id asc";
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
//delete manager
public int delManager(int id){
String sql = "delete from fz_admin where id = '"+id+"'";
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)return Constant.SUCCESS;
else return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
//delete login note
public int delLog(int id[]){
DBO dbo=new DBO();
dbo.open();
try{
for(int i = 0;i<id.length;i++){
dbo.executeUpdate("delete from fz_adminlog where id = '"+id[i]+"'");
}
return Constant.SUCCESS;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
}
2、Servlet类:NewsServlet.java
package com.action;
/**
* 新闻管理
*
*/
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.bean.ComBean;
import com.bean.NewsBean;
import com.bean.SystemBean;
import com.util.Constant;
import com.util.Filter;
public class NewsServlet extends HttpServlet {
private ServletConfig config;
/**
* Constructor of the object.
*/
public NewsServlet() {
super();
}
final public void init(ServletConfig config) throws ServletException
{
this.config = config;
}
final public ServletConfig getServletConfig()
{
return config;
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding(Constant.CHARACTERENCODING);
response.setContentType(Constant.CONTENTTYPE);
String sysdir = new SystemBean().getDir();
HttpSession session = request.getSession();
try{
String username2 = (String)session.getAttribute("user");
String method = request.getParameter("method").trim();
NewsBean newsBean = new NewsBean();
// System.out.println("aaaaaaaaaaaaaaaaa");
if(method.equals("ADDNEWS")){//增加新闻
String title = Filter.escapeHTMLTags(request.getParameter("title").trim());
String fenlei = request.getParameter("fenlei");
String content = request.getParameter("content1");
String gjz = request.getParameter("gjz");
if(content.length()>8000){
request.setAttribute("message", "对不起,内容不能超过8000个字符!");
request.setAttribute("method", method);
request.getRequestDispatcher(sysdir+"/news/edit.jsp").forward(request, response);
}
else{
int flag = newsBean.addNews(title,fenlei,content, username2,gjz);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "增加成功!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
}
}
else if(method.equals("editnews")){//修改新闻
String id = Filter.escapeHTMLTags(request.getParameter("id").trim());
String title = Filter.escapeHTMLTags(request.getParameter("title").trim());
String fenlei = request.getParameter("fenlei");
String content = request.getParameter("content1");
String gjz = request.getParameter("gjz");
int flag = newsBean.updateNews(Integer.parseInt(id), title,fenlei, content, username2,gjz);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "修改成功!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
}
else if(method.equals("DELNEWS")){//删除新闻
String check[] = request.getParameterValues("checkit");
if(check == null){
request.setAttribute("message", "请选择要删除的记录!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
else{
int id2[]= new int[check.length];
for(int i = 0;i<check.length;i++){
int s = Integer.parseInt(check[i]);
id2[i] = s;
}
int flag = new NewsBean().delNews(id2);
if(flag == Constant.SUCCESS){
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
}
}
else if(method.equals("addFenlei")){//增加分类
String title=request.getParameter("title");
int flag = newsBean.addFenlei(title);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher(sysdir+"/fenlei/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/fenlei/index.jsp").forward(request, response);
}
}
else if(method.equals("delFenlei")){//删分类
String id=request.getParameter("id");
int flag = newsBean.delFenlei(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher(sysdir+"/fenlei/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/fenlei/index.jsp").forward(request, response);
}
}
else if(method.equals("mdelPl")){//删评论
String id=request.getParameter("id");
int flag = newsBean.delMethod("delete from pl where id='"+id+"'");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher(sysdir+"/news/pl.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/news/pl.jsp").forward(request, response);
}
}
//评论
else if(method.equals("pl")){
ComBean cb=new ComBean();
String nid=request.getParameter("nid");
String content=request.getParameter("content");
String member = (String)session.getAttribute("member");
if(member==null){
request.setAttribute("message", "请先登录!");
request.setAttribute("id", nid);
request.getRequestDispatcher("newsinfo.jsp").forward(request, response);
}
else{
int flag = newsBean.delMethod("insert into pl(nid,content,member,addtime) values('"+nid+"','"+content+"','"+member+"','"+new java.util.Date().toLocaleString()+"')");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.setAttribute("id", nid);
request.getRequestDispatcher("newsinfo.jsp").forward(request, response);
}
else{
request.setAttribute("message", "操作失败!");
request.setAttribute("id", nid);
request.getRequestDispatcher("newsinfo.jsp").forward(request, response);
}
}
}
else{
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}catch(Exception e){
e.printStackTrace();
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
AdminServlet.java
package com.action;
/**
* 管理员登陆 增加 修改 删除 删除登陆日志
*/
import java.io.IOException;
import java.util.List;
import java.util.StringTokenizer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.bean.AdminBean;
import com.bean.SystemBean;
import com.util.Constant;
import com.util.MD5;
public class AdminServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public AdminServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(Constant.CONTENTTYPE);
request.setCharacterEncoding(Constant.CHARACTERENCODING);
try{
String method=request.getParameter("method").trim();
AdminBean loginbean = new AdminBean();
HttpSession session = request.getSession();
session.setMaxInactiveInterval(1200);
SystemBean systembean = new SystemBean();
String sysdir = systembean.getDir();
if(method.equals("one")){//管理员登录
String username = request.getParameter("username");
String password = request.getParameter("password");
if(username == null||username.trim().equals("")){
request.setAttribute("message", "请正确输入用户名!");
request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
}
else if(password == null||password.trim().equals("")){
request.setAttribute("message", "请输入密码!");
request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
}
else{
String md5password = MD5.MD5(password);
String agent = request.getHeader("user-agent");
StringTokenizer st = new StringTokenizer(agent,";");
String useros=st.nextToken();
String loginip = request.getRemoteAddr();
int flag = loginbean.adminLogin(username,md5password, password,useros,loginip);
switch (flag){
case Constant.SUCCESS:
List list = loginbean.getAdminInfo(username);
session.setAttribute("user", username);
session.setAttribute("list", list);
request.getRequestDispatcher(sysdir+"/").forward(request, response);
break;
case Constant.NAME_ERROR:
request.setAttribute("message", "用户名错误!请确认管理权限!");
request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
break;
case Constant.PASSWORD_ERROR:
request.setAttribute("message", "密码错误,请确认管理权限!");
request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
break;
}
}
}
else if(method.equals("editpwd")){//修改密码
String username2 = (String)session.getAttribute("user");
if(username2 == null){
request.getRequestDispatcher("error.jsp").forward(request, response);
}
else{
String oldpwd = MD5.MD5(request.getParameter("oldpwd").trim());
String newpwd = MD5.MD5(request.getParameter("newpwd").trim());
String username = (String)session.getAttribute("user");
int flag = loginbean.editPassword(username, oldpwd, newpwd);
switch (flag){
case Constant.SUCCESS:
request.setAttribute("message", "密码修改成功!");
request.getRequestDispatcher(sysdir+"/system/editpwd.jsp").forward(request, response);
break;
case Constant.PASSWORD_ERROR:
request.setAttribute("message", "原始密码错误,请确认权限!");
request.getRequestDispatcher(sysdir+"/system/editpwd.jsp").forward(request, response);
break;
case Constant.SYSTEM_ERROR:
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/system/editpwd.jsp").forward(request, response);
break;
}
}
}
else if(method.equals("exit")){//退出
String username2 = (String)session.getAttribute("user");
if(username2 == null){
request.getRequestDispatcher("error.jsp").forward(request, response);
}
else{
session.removeAttribute("user");
session.removeAttribute("list");
System.gc();
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
else if(method.equals("manager")){//增加管理员
String username2 = (String)session.getAttribute("user");
if(username2 == null){
request.getRequestDispatcher("error.jsp").forward(request, response);
}
else{
String ra = request.getParameter("ra").trim();
if(ra.equals("add")){
String username = request.getParameter("username").trim();
String password = MD5.MD5(request.getParameter("password").trim());
String isuse = request.getParameter("isuse").trim();
if(isuse.equals("在用"))
isuse = "1";
else
isuse = "2";
int flag = loginbean.addManager(username, password, "2", isuse);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "增加管理员成功!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else if(flag == Constant.SAME_NAME){
request.setAttribute("username", username);
request.setAttribute("message", "该用户名已经存在!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
}
else if(ra.equals("update")){
String username = request.getParameter("username").trim();
String password = request.getParameter("password").trim();
String isuse = request.getParameter("isuse").trim();
if(!password.equals("")){
password = MD5.MD5(password);
}
if(isuse.equals("在用"))
isuse = "1";
else
isuse = "2";
int flag = loginbean.updateManager(username, password, "2", isuse);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "修改管理员信息成功!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
}
}
}
else if(method.equals("delm")){//删管理员
String username2 = (String)session.getAttribute("user");
if(username2 == null){
request.getRequestDispatcher("error.jsp").forward(request, response);
}
else{
int id = Integer.parseInt(request.getParameter("id").trim());
if(id == 1){
request.setAttribute("message", "不能删除原始帐号!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else{
int flag = loginbean.delManager(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "删除成功!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
}
}
}
else if(method.equals("dellog")){//delete login note
String username2 = (String)session.getAttribute("user");
if(username2 == null){
request.getRequestDispatcher("error.jsp").forward(request, response);
}
else{
String check[] = request.getParameterValues("checkit");
if(check == null){
request.setAttribute("message", "请选择要删除的记录!");
request.getRequestDispatcher(sysdir+"/system/log.jsp").forward(request, response);
}
else{
int id[]= new int[check.length];
for(int i = 0;i<check.length;i++){
int s = Integer.parseInt(check[i]);
id[i] = s;
}
int flag = loginbean.delLog(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "删除记录成功!");
request.getRequestDispatcher(sysdir+"/system/log.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/system/log.jsp").forward(request, response);
}
}
}
}
else{//无参数传入转到错误页面
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}catch(Exception e){
e.printStackTrace();
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
3、辅助类:日志类
Log.java
package com.util;
/**
* 日志
*/
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Log {
public void addLog(String str){
try {
File file=new File("c://log.txt");
FileWriter fw=new FileWriter(file,true);
BufferedWriter bw=new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);
pw.write(str);
bw.newLine();//断行
bw.flush();//将数据更新至文件
pw.close();
fw.close();//关闭文件流
} catch (FileNotFoundException e) {
System.out.println("警告:日志文件没找到!!!!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("警告:日志文件IO错误!!!!");
e.printStackTrace();
}
}
}
评论类:Comment,java
package com.util;
/**
* 常用方法类
*
*
*/
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public final class Common {
字符串 HTML 转换
public static String turn(String str) {
while (str.indexOf("\n") != -1) {
str = str.substring(0, str.indexOf("\n")) + "<br>"
+ str.substring(str.indexOf("\n") + 1);
}
while (str.indexOf(" ") != -1) {
str = str.substring(0, str.indexOf(" ")) + " "
+ str.substring(str.indexOf(" ") + 1);
}
return str;
}
/返回日期 当前日期传入0 一年之前传入-1 三年后传入3
public static String getDate(int num){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, num);
return df.format(c.getTime());
}
/数据库输出字符串的过滤
public static String SQLStr(String str){
if(str != null && str.length()>1 && str.substring(0,1).equals("?")){
str = str.substring(1);
}
if(str == null || str.equals("") || str.equals(" ")){
str = " ";
}
return str;
}
/过滤空格
public static String PageStr(String str){
if(str==null || str.trim().equals("") || str.equals(" ")||str.equals("null")){
str = "";
}
str = str.trim();
return str;
}
/格式化日期
public static String formatRZ(String oldDate){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date Date = new Date(oldDate);
return df.format(Date);
}
汉化
public static String toChineseAndTrim(String str){
if(str==null){
str="";
}
try{
byte b[]=str.getBytes("iso-8859-1");
str=new String(b);
str=str.trim();
}catch(Exception e){
e.printStackTrace();
}
return str;
}
}
写在最后
全部源码和详细文档资料,可加博主V交流:Code2Life2