package org.news.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.news.entity.Comment;
import org.news.entity.News;
import org.news.entity.Topic;
import org.news.service.CommentsService;
import org.news.service.NewsService;
import org.news.service.TopicsService;
import org.news.service.impl.CommentsServiceImpl;
import org.news.service.impl.NewsServiceImpl;
import org.news.service.impl.TopicsServiceImpl;
import org.news.util.Page;
public class NewsServlet extends HttpServlet {
private static final long serialVersionUID = 7679716260193021854L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String contextPath = request.getContextPath();
String opr = request.getParameter("opr");
TopicsService topicService = new TopicsServiceImpl();
NewsService newsService = new NewsServiceImpl();
CommentsService commentsService = new CommentsServiceImpl();
try {
if (opr.equals("addComment")) {// 添加评论
String cauthor = request.getParameter("cauthor");
String cnid = request.getParameter("nid");
String cip = request.getParameter("cip");
String ccontent = request.getParameter("ccontent");
Comment comment = new Comment();
comment.setCnid(Integer.parseInt(cnid));
comment.setCcontent(ccontent);
comment.setCdate(new java.util.Date());
comment.setCip(cip);
comment.setCauthor(cauthor);
try {
commentsService.addComment(comment);
out.print("<script type=\"text/javascript\">");
out.print("alert(\"评论成功,点击确认返回原来页面\");");
out.print("location.href=\"" + contextPath
+ "/util/news?opr=readNew&nid=" + cnid + "\";");
out.print("</script>");
} catch (Exception e) {
out.print("<script type=\"text/javascript\">");
out.print("alert(\"评论添加失败!请联系管理员查找原因!点击确认返回原来页面\");");
out.print("location.href=\"" + contextPath
+ "/util/news?opr=readNew&nid=" + cnid + "\";");
out.print("</script>");
}
} else if ("readNew".equals(opr)) {// 读取某条新闻
String nid = request.getParameter("nid");
News news = newsService.findNewsByNid(Integer.parseInt(nid));
news.setComments(commentsService.findCommentsByNid(Integer
.parseInt(nid)));
Map<Integer, Integer> topics = new HashMap<Integer, Integer>();
topics.put(1, 5);
topics.put(2, 5);
topics.put(5, 5);
List<List<News>> latests = newsService
.findLatestNewsByTid(topics);
request.setAttribute("news", news);
request.setAttribute("list1", latests.get(0));// 左侧国内新闻
request.setAttribute("list2", latests.get(1));// 左侧国际新闻
request.setAttribute("list3", latests.get(2));// 左侧娱乐新闻
request.getRequestDispatcher("/newspages/news_read.jsp")
.forward(request, response);
} else if ("listTitle".equals(opr)) {
Map<Integer, Integer> topics = new HashMap<Integer, Integer>();
topics.put(1, 5);
topics.put(2, 5);
topics.put(5, 5);
List<List<News>> latests = newsService
.findLatestNewsByTid(topics);
List<Topic> list = topicService.findAllTopics();
List<News> list4 = null;
String tid = request.getParameter("tid");
String pageIndex = request.getParameter("pageIndex");// 获得当前页数
if (pageIndex == null
|| (pageIndex = pageIndex.trim()).length() == 0) {
pageIndex = "1";
}
int currPageNo = Integer.parseInt(pageIndex);
if (currPageNo < 1)
currPageNo = 1;
Page pageObj = new Page();
pageObj.setCurrPageNo(currPageNo); // 设置当前页码
pageObj.setPageSize(15); // 设置每页显示条数
if (tid == null || (tid = tid.trim()).length() == 0) {
newsService.findPageNews(pageObj); // 分页查询新闻
list4 = pageObj.getNewsList();
} else
// 查询指定主题下的新闻
list4 = newsService.findAllNewsByTid(Integer.parseInt(tid));
request.setAttribute("list1", latests.get(0));// 左侧国内新闻
request.setAttribute("list2", latests.get(1));// 左侧国际新闻
request.setAttribute("list3", latests.get(2));// 左侧娱乐新闻
request.setAttribute("list", list); // 所有的主题
request.setAttribute("list4", list4);// 中间的新闻
request.setAttribute("pageObj", pageObj);
request.getRequestDispatcher("/index.jsp").forward(request,
response);
} else if ("list".equals(opr)) {// 编辑新闻时对新闻的查找
List<News> list = newsService.findAllNews();
request.getSession().setAttribute("list", list);
response.sendRedirect(contextPath + "/newspages/admin.jsp");
} else if ("delete".equals(opr)) { // 删除新闻及评论
String nid = request.getParameter("nid");
try {
int result = newsService.deleteNews(Integer.parseInt(nid));
if (result == 0) {
out.print("<script type=\"text/javascript\">");
out.print("alert(\"未找到相关新闻,点击确认返回新闻列表\");");
out.print("location.href=\"" + contextPath
+ "/util/news?opr=list\";");
out.print("</script>");
} else {
out.print("<script type=\"text/javascript\">");
out.print("alert(\"已经成功删除新闻,点击确认返回新闻列表\");");
out.print("location.href=\"" + contextPath
+ "/util/news?opr=list\";");
out.print("</script>");
}
} catch (Exception e) {
out.print("<script type=\"text/javascript\">");
out.print("alert(\"删除失败,请联系管理员!点击确认返回新闻列表\");");
out.print("location.href=\""
没有合适的资源?快使用搜索试试~ 我知道了~
ACCP8.0S2新闻发布系统
共126个文件
java:28个
class:28个
gif:23个
需积分: 10 14 下载量 8 浏览量
2017-12-13
16:24:10
上传
评论
收藏 1.49MB RAR 举报
温馨提示
此新闻发布系统采用Servlet+JSP+存储过程的方式来编写,前台采用CSS+Div布局,普通用户可以浏览新闻,新闻评论,站内留言,注册用户可以浏览新闻,发布评论,站内留言,
资源推荐
资源详情
资源评论
收起资源包目录
ACCP8.0S2新闻发布系统 (126个子文件)
NewsServlet.class 13KB
NewsDaoImpl.class 8KB
NewsServiceImpl.class 7KB
TopicServlet.class 5KB
CommentsDaoImpl.class 4KB
TopicsServiceImpl.class 3KB
TopicsDaoImpl.class 3KB
UserServlet.class 3KB
News.class 3KB
PageTest.class 3KB
CommentsServiceImpl.class 2KB
DatabaseUtil.class 2KB
BaseDao.class 2KB
Page.class 2KB
Comment.class 2KB
UserDaoImpl.class 2KB
ConfigManager.class 1KB
UserServiceImpl.class 1KB
NewsService.class 1KB
User.class 992B
NewsDao.class 950B
Topic.class 813B
TopicsService.class 520B
TopicsDao.class 507B
CommentsDao.class 432B
CommentsService.class 404B
UserDao.class 240B
UserService.class 237B
.classpath 877B
org.eclipse.wst.common.component 625B
org.eclipse.wst.jsdt.ui.superType.container 49B
admin.css 3KB
main.css 3KB
read.css 3KB
main-1.gif 290KB
head.gif 40KB
a_b01.gif 40KB
class_bg.gif 6KB
sidebarbg.gif 5KB
class_type.gif 4KB
title_3.gif 4KB
title_1.gif 4KB
title_2.gif 3KB
friend_ico.gif 3KB
opt_name.gif 3KB
channel_bg.gif 1KB
friend_logo.gif 1KB
login_sub.gif 987B
login_input.gif 504B
firend_bg.gif 343B
topbg.gif 195B
admin_bar.gif 191B
friend_t.gif 189B
opt_sub.gif 180B
nav_leftdot.gif 82B
nav_leftline.gif 53B
arrow.gif 50B
index_bottom.html 964B
bottom.html 895B
index_rightbar.html 538B
left.html 313B
mysql-connector-java-5.1.0-bin.jar 553KB
commons-io-2.4.jar 181KB
commons-fileupload-1.2.2.jar 58KB
NewsServlet.java 20KB
NewsDaoImpl.java 10KB
NewsServiceImpl.java 7KB
TopicServlet.java 7KB
TopicsServiceImpl.java 4KB
CommentsDaoImpl.java 3KB
TopicsDaoImpl.java 3KB
DatabaseUtil.java 2KB
CommentsServiceImpl.java 2KB
UserServlet.java 2KB
News.java 2KB
BaseDao.java 2KB
PageTest.java 2KB
Page.java 2KB
NewsService.java 1KB
NewsDao.java 1KB
UserDaoImpl.java 1KB
Comment.java 1KB
ConfigManager.java 942B
UserServiceImpl.java 767B
User.java 629B
TopicsService.java 600B
TopicsDao.java 583B
CommentsDao.java 529B
Topic.java 493B
CommentsService.java 440B
UserDao.java 228B
UserService.java 186B
Picture1.jpg 51KB
Picture2.jpg 50KB
Picture4.jpg 47KB
Picture3.jpg 31KB
banner.jpg 20KB
logo.jpg 14KB
left.jpg 6KB
logo1.jpg 2KB
共 126 条
- 1
- 2
资源评论
edinv
- 粉丝: 8
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python的pyqt5写的图书管理系统期末大作业源码带文档设计.zip
- pcff_interface_v1_5.off
- apk.tw_LineLite_v8a_v.2.17.1_sign.apk
- Elasticsearch实战:构建高效搜索系统的秘诀.zip
- HTML+CSS+JS网页设计:从入门到精通.zip
- 数据库课程设计:从理论到实践的全面指南.zip
- Python闭包:深入理解与应用场景解析.zip
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功