package com.news.web;
import com.alibaba.fastjson.JSON;
import com.news.entity.Comment;
import com.news.entity.News;
import com.news.service.CommentService;
import com.news.service.NewsService;
import com.news.service.impl.CommentServiceimpl;
import com.news.service.impl.NewsServiceimpl;
import com.news.util.page;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
@WebServlet(name = "NewsServlet",urlPatterns = "/NewsServlet")
public class NewsServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
String opr = request.getParameter("opr");
request.setCharacterEncoding("utf-8");
NewsService newsService=new NewsServiceimpl();//调用业务层
List<News> list=newsService.findAllNews();
CommentService commentService=new CommentServiceimpl();
String contextPath=request.getContextPath();
if("list".equals(opr)){//显示新闻列表
// NewsDao dao=new NewsDaoimpl();
// List<News> allnews=dao.getAllnews();
//// request.setAttribute("list",allnews);
//// response.sendRedirect("../newspages/admin.jsp");
// News news=null;
// StringBuffer newsJSON=new StringBuffer("[");
// for(int i=0;i<list.size();){
// news=list.get(i);
// newsJSON.append("{\"nid\":"+news.getNid()+",");
// newsJSON.append("\"ntitle\":\""+news.getNtitle().replace("\"",""")+"\",");
// newsJSON.append("\"nauthor\":\""+news.getNauthor().replace("\"","&quto;")+"\"}");
// if((++i)==allnews.size()){
// break;
// }else {
// newsJSON.append(",");
// }
// newsJSON.append("]");
// out.print(newsJSON);
// out.close();
String newsJSON= JSON.toJSONString(list);
out.print(newsJSON);
}else if("listHtml".equals(opr)){
// List<News> list1 = newsService.findAllNews();
request.setAttribute("list", list);
request.getRequestDispatcher("/newspages/showNews.jsp").forward(request, response);
// News news=null;
// StringBuffer newsLisit=new StringBuffer("");
// for(int i=0;i<list.size();){
// news=list.get(i);
// newsLisit.append("<li>"+news.getNtitle()+"<span> 作者:"
// + news.getNauthor()+" "
// + "<a href='#'>修改</a> "
// + "<a href='#' onclick='return clickdel()'>删除</a>"
// + "</span></li>"
// );
// if((++i)%5==0){
// newsLisit.append("<li class='space'></li>");
// }
// }
// out.print(newsLisit);
}else if("listTitle".equals(opr)) {
List<News> list1=null;
String pageIndex=request.getParameter("pageIndex");//获得当前页数
if(pageIndex==null){
pageIndex="1";
}
int currPageNo=Integer.parseInt(pageIndex);//获得当前页数
if(currPageNo<1)
currPageNo=1;
page pageObj=new page();//创建分页类对象
pageObj.setCurrPageNO(currPageNo);//设置当前页码
pageObj.setPageSize(10);//设置每页显示条数
newsService.findpageNews(pageObj);//分页查询新闻
list1=pageObj.getNewsList();//获取全部新闻
request.setAttribute("list",list1);//中间的新闻
request.setAttribute("pageObj",pageObj);//封装分页类对象
request.getRequestDispatcher("../index.jsp").forward(request,response);
}else if("readNew".equals(opr)){
String nid=request.getParameter("nid");
News news =newsService.findNewsByNid(Integer.parseInt(nid));
List<Comment> comments= commentService.findCommentsByNid(Integer.parseInt(nid));
news.setComments(comments);
request.getSession().setAttribute("news",news);
response.sendRedirect(contextPath+"/newspages/news_read.jsp");
}else if("addComment".equals(opr)){
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);
String result="";
try {
commentService.addComment(comment);
result="success";
}catch (Exception e){
result="评论添加失败!";
}
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
out.print("[{\"result\":\""+result+"\",\"cdate\":\""+df.format(comment.getCdate())+"\"}]");
}else if("toAddNews".equals(opr)){
request.getRequestDispatcher("/newspages/news_add.jsp").forward(request,response);
}else if("addNews".equals(opr)){//添加新闻
News news=new News();
String fieldName="";//表单字段元素的name属性值
//请求信息中的内容是否是multipart类型
boolean isMultipart= ServletFileUpload.isMultipartContent(request);
//上传文件的存储路径(服务器文件系统上的绝对文件路径)
String uploadFilePath = request.getServletContext().getRealPath("upload");
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(1024*1024*5);
//解析form表单中所有文件
try {
List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem> iter = items.iterator();
FileItem item = null;
boolean isUnallowedType = false; // 是否为不允许的类型
File saveFile = null; // 上传并保存的文件
while (iter.hasNext()) { //依次处理每个文件
item = iter.next();
if (item.isFormField()) { //普通表单字段
fieldName = item.getFieldName(); //表单字段的name属性值
if (fieldName.equals("ntid")) { //主题
news.setNtid(Integer.parseInt(item
.getString("UTF-8")));
} else if (fieldName.equals("ntitle")) { //标题
new
没有合适的资源?快使用搜索试试~ 我知道了~
JavaWeb新闻管理系统 tomcat idea navicat
共243个文件
class:54个
gif:46个
jsp:39个
5星 · 超过95%的资源 需积分: 4 6 下载量 143 浏览量
2022-11-12
21:03:21
上传
评论 1
收藏 4.81MB ZIP 举报
温馨提示
本项目实现增删改查 分页查询等 数据库也放里面去了 1.8jdk 仅供学习参考
资源推荐
资源详情
资源评论
收起资源包目录
JavaWeb新闻管理系统 tomcat idea navicat (243个子文件)
NewsServlet.class 9KB
NewsServlet.class 9KB
NewsDaoimpl.class 8KB
NewsDaoimpl.class 8KB
TopicServlet.class 5KB
TopicServlet.class 5KB
CommentsDaoimpl.class 4KB
CommentsDaoimpl.class 4KB
BaseDao.class 4KB
BaseDao.class 4KB
TopicDaoimpl.class 3KB
TopicDaoimpl.class 3KB
News.class 3KB
News.class 3KB
Newstest.class 2KB
Newstest.class 2KB
NewsServiceimpl.class 2KB
NewsServiceimpl.class 2KB
TopicServiceimpl.class 2KB
TopicServiceimpl.class 2KB
page.class 2KB
page.class 2KB
Comment.class 1KB
Comment.class 1KB
test.class 1KB
test.class 1KB
NewsUsersDaoImpl2.class 1KB
NewsUsersDaoImpl2.class 1KB
ProductDao.class 1KB
Product.class 1KB
NewsUsers.class 1KB
NewsUsers.class 1KB
User.class 922B
CommentServiceimpl.class 809B
CommentServiceimpl.class 809B
NewsDao.class 758B
NewsDao.class 758B
Topic.class 721B
Topic.class 721B
TopicService.class 427B
TopicService.class 427B
TopicDao.class 415B
TopicDao.class 415B
Commenttest.class 404B
Commenttest.class 404B
NewsService.class 375B
NewsService.class 375B
CommentsDao.class 323B
CommentsDao.class 323B
CommentsService.class 299B
CommentService.class 297B
CommentService.class 297B
NewsUserDao.class 184B
NewsUserDao.class 184B
read.css 5KB
read.css 5KB
admin.css 3KB
admin.css 3KB
main.css 3KB
main.css 3KB
main-1.gif 290KB
main-1.gif 290KB
head.gif 40KB
head.gif 40KB
a_b01.gif 40KB
a_b01.gif 40KB
class_bg.gif 6KB
class_bg.gif 6KB
sidebarbg.gif 5KB
sidebarbg.gif 5KB
class_type.gif 4KB
class_type.gif 4KB
title_3.gif 4KB
title_3.gif 4KB
title_1.gif 4KB
title_1.gif 4KB
title_2.gif 3KB
title_2.gif 3KB
friend_ico.gif 3KB
friend_ico.gif 3KB
opt_name.gif 3KB
opt_name.gif 3KB
channel_bg.gif 1KB
channel_bg.gif 1KB
friend_logo.gif 1KB
friend_logo.gif 1KB
login_sub.gif 987B
login_sub.gif 987B
login_input.gif 504B
login_input.gif 504B
firend_bg.gif 343B
firend_bg.gif 343B
topbg.gif 195B
topbg.gif 195B
admin_bar.gif 191B
admin_bar.gif 191B
friend_t.gif 189B
friend_t.gif 189B
opt_sub.gif 180B
opt_sub.gif 180B
共 243 条
- 1
- 2
- 3
资源评论
- 郑华滨2023-07-26通过这个文件,我学到了如何使用JavaWeb技术构建一个简单实用的新闻管理系统,收获很大。
- 湯姆漢克2023-07-26使用这个文件构建了一个基本功能完善的JavaWeb新闻管理系统,对于中小型企业的资讯发布非常适用。
- 鲸阮2023-07-26使用tomcat、idea和navicat搭建起来的这个系统运行稳定,没有遇到过崩溃或卡顿的情况。
- 深层动力2023-07-26这个文件中的JavaWeb新闻管理系统非常容易上手,适合新手入门学习。
- 莫少儒2023-07-26这个文件中的代码风格简洁明了,注释清晰,方便其他开发人员进行二次开发和维护。
Romeo122
- 粉丝: 3
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功