package com.web;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.util.Iterator;
import java.util.List;
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 net.sf.json.JSONObject;
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 com.dao.CommentDao;
import com.dao.NewsDao;
import com.dao.NewsTypeDao;
import com.model.Comment;
import com.model.News;
import com.model.NewsType;
import com.model.PageBean;
import com.util.DateUtil;
import com.util.DbUtil;
import com.util.NavUtil;
import com.util.PageUtil;
import com.util.PropertiesUtil;
import com.util.ResponseUtil;
import com.util.StringUtil;
public class NewsServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
DbUtil dbUtil=new DbUtil();
NewsDao newsDao=new NewsDao();
NewsTypeDao newsTypeDao=new NewsTypeDao();
CommentDao commentDao=new CommentDao();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String action=request.getParameter("action");
if("list".equals(action)){
this.newsList(request,response);
}else if("show".equals(action)){
this.newsShow(request,response);
}else if("preSave".equals(action)){
this.newsPreSave(request,response);
}else if("save".equals(action)){
this.newsSave(request,response);
}else if("backList".equals(action)){
this.newsBackList(request, response);
}else if("delete".equals(action)){
this.newsDelete(request, response);
}
}
private void newsShow(HttpServletRequest request,
HttpServletResponse response) {
String newsId=request.getParameter("newsId");
Connection con=null;
try{
con=dbUtil.getCon();
News news=newsDao.getNewsById(con, newsId);
newsDao.newsClick(con, newsId);
Comment s_comment=new Comment();
s_comment.setNewsId(Integer.parseInt(newsId));
List<Comment> commentList=commentDao.commentList(con, s_comment,null,null,null);
request.setAttribute("commentList", commentList);
request.setAttribute("news", news);
request.setAttribute("navCode", NavUtil.genNewsNavigation(news.getTypeName(), String.valueOf(news.getTypeId()), news.getTitle()));
request.setAttribute("pageCode", this.genUpAndDownPageCode(newsDao.getUpAndDownPage(con, newsId)));
request.setAttribute("mainPage", "news/newsShow.jsp");
request.getRequestDispatcher("foreground/newsTemp.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void newsList(HttpServletRequest request,
HttpServletResponse response) {
String typeId=request.getParameter("typeId");
String page=request.getParameter("page");
if(StringUtil.isEmpty(page)){
page="1";
}
Connection con=null;
News s_news=new News();
if(StringUtil.isNotEmpty(typeId)){
s_news.setTypeId(Integer.parseInt(typeId));
}
try{
con=dbUtil.getCon();
int total=newsDao.newsCount(con, s_news,null,null);
PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(PropertiesUtil.getValue("pageSize")));
List<News> newestNewsListWithType=newsDao.newsList(con, s_news, pageBean,null,null);
request.setAttribute("newestNewsListWithType", newestNewsListWithType);
String typeName=newsTypeDao.getNewsTypeById(con, typeId).getTypeName();
String navCode=NavUtil.genNewsListNacigation(typeName, typeId);
String pageCode=PageUtil.getUpAndDownPagation(total, Integer.parseInt(page), Integer.parseInt(PropertiesUtil.getValue("pageSize")), typeId);
request.setAttribute("pageCode", pageCode);
request.setAttribute("navCode", navCode);
request.setAttribute("mainPage", "news/newsList.jsp");
request.getRequestDispatcher("foreground/newsTemp.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private String genUpAndDownPageCode(List<News> upAndDownPage){
News upNews=upAndDownPage.get(0);
News downNews=upAndDownPage.get(1);
StringBuffer pageCode=new StringBuffer();
if(upNews.getNewsId()==-1){
pageCode.append("<p>上一篇:没有了</p>");
}else{
pageCode.append("<p>上一篇:<a href='news?action=show&newsId="+upNews.getNewsId()+"'>"+upNews.getTitle()+"</a></P>");
}
if(downNews.getNewsId()==-1){
pageCode.append("<p>下一篇:没有了</p>");
}else{
pageCode.append("<p>下一篇:<a href='news?action=show&newsId="+downNews.getNewsId()+"'>"+downNews.getTitle()+"</a></P>");
}
return pageCode.toString();
}
private void newsPreSave(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
Connection con=null;
try{
con=dbUtil.getCon();
List<NewsType> newsTypeList=newsTypeDao.newsTypeList(con);
request.setAttribute("newsTypeList",newsTypeList );
request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻管理", "新闻添加"));
request.setAttribute("mainPage", "/background/news/newsSave.jsp");
request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void newsSave(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
FileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
List<FileItem> items=null;
try{
items=upload.parseRequest(request);
}catch(Exception e){
e.printStackTrace();
}
Iterator itr=items.iterator();
News news=new News();
while(itr.hasNext()){
FileItem item=(FileItem) itr.next();
if(item.isFormField()){
String fieldName=item.getFieldName();
if("title".equals(fieldName)){
news.setTitle(item.getString("utf-8"));
}
if("content".equals(fieldName)){
news.setContent(item.getString("utf-8"));
}
if("author".equals(fieldName)){
news.setAuthor(item.getString("utf-8"));
}
if("typeId".equals(fieldName)){
news.setTypeId(Integer.parseInt(item.getString("utf-8")));
}
if("isHead".equals(fieldName)){
news.setIsHead(Integer.parseInt(item.getString("utf-8")));
}
if("isImage".equals(fieldName)){
news.setIsImage(Integer.parseInt(item.getString("utf-8")));
}
if("isHot".equals(fieldName)){
news.setIsHot(Integer.parseInt(item.getString("utf-8")));
}
}else if(!"".equals(item.getName())){
try{
String imageName=DateUtil.getCurrentDateStr();
news.setImageName(imageName+"."+item.getName().split("\\.")[1]);
String filePath=PropertiesUtil.getValue("imagePath")+imageName+"."+item.getName().split("\\.")[1];
item.write(new File(filePath));
}catch(Exception e){
e.printStackTrace();
}
}
}
Connection con=null;
try{
con=dbUtil.getCon();
newsDao.newsAdd(con, news);
request.getRequestDispatcher("/background/mainTemp.jsp").forward(request,
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
结合JSP和Servlet的在线新闻发布系统.zip (553个子文件)
NewsServlet.class 13KB
NewsDao.class 8KB
CommentServlet.class 6KB
NewsTypeServlet.class 6KB
LinkServlet.class 6KB
CommentDao.class 5KB
IndexServlet.class 4KB
UserServlet.class 4KB
InitServlet.class 4KB
ImageUploadServlet.class 3KB
LinkDao.class 3KB
NewsTypeDao.class 3KB
News.class 3KB
News.class 3KB
StringUtil.class 3KB
StringUtil.class 2KB
NewsDao.class 2KB
PageUtil.class 2KB
Comment.class 2KB
NavUtil.class 2KB
LinkDao.class 2KB
NewsTypeDao.class 2KB
UserDao.class 2KB
Link.class 1KB
DateUtil.class 1KB
DateUtil.class 1KB
Link.class 1KB
User.class 1KB
DbUtil.class 1KB
DbUtil.class 1KB
ResponseUtil.class 933B
PropertiesUtil.class 862B
PropertiesUtil.class 862B
NewsType.class 836B
PageBean.class 807B
NewsType.class 748B
.classpath 937B
org.eclipse.wst.common.component 456B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 124KB
editor_ie7.css 48KB
editor_iequirks.css 47KB
editor_ie8.css 46KB
editor_ie.css 46KB
editor_gecko.css 45KB
editor.css 45KB
bootstrap-responsive.css 22KB
style.css 21KB
dialog_ie7.css 17KB
dialog_ie8.css 16KB
dialog_iequirks.css 16KB
dialog_ie.css 16KB
dialog.css 15KB
sample.css 5KB
news.css 5KB
datepicker.css 5KB
datepicker.css 5KB
datepicker.css 4KB
datepicker.css 3KB
outputxhtml.css 2KB
invalid.css 2KB
contents.css 2KB
templates.css 1KB
toolbar.css 1KB
wsc.css 1KB
reset.css 932B
WdatePicker.css 182B
WdatePicker.css 182B
sample.css 50B
outputforflash.fla 84KB
bg-sidebar.gif 32KB
bg-body.gif 21KB
bg-radial-gradient.gif 17KB
bg-login.gif 13KB
jquery.wysiwyg.gif 4KB
bg-menu-item-green.gif 3KB
img.gif 2KB
img.gif 2KB
img.gif 2KB
img.gif 2KB
shortcut-button-bg.gif 1KB
angel_smile.gif 1KB
devil_smile.gif 1KB
shades_smile.gif 1KB
angry_smile.gif 1KB
tongue_smile.gif 1KB
regular_smile.gif 1KB
tounge_smile.gif 1KB
wink_smile.gif 1KB
teeth_smile.gif 1KB
confused_smile.gif 1KB
omg_smile.gif 1KB
sad_smile.gif 1KB
whatchutalkingabout_smile.gif 1KB
broken_heart.gif 1KB
thumbs_down.gif 1KB
thumbs_up.gif 1KB
heart.gif 1KB
kiss.gif 1KB
lightbulb.gif 1KB
共 553 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
白话机器学习
- 粉丝: 9245
- 资源: 7681
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功