⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newsservlet.java

📁 新闻发布系统,界面简单
💻 JAVA
字号:
package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
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 com.javaBean.Manager;
import com.javaBean.News;
import com.javaBean.NewsType;
import com.javaBeanDao.ManagerDao;
import com.javaBeanDao.NewsDao;
import com.javaBeanDao.NewsReplyDao;
import com.javaBeanDao.NewsTypeDao;
import com.sql.Utils;

public class NewsServlet extends HttpServlet {
/**
 * 这是一个无论doget或dopost请求都可以接收并响应的service方法&curpage=${curpage}&pagesize=${pagesize}
 */
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		NewsDao nd=new NewsDao();
		String path=request.getServletPath();
		if(path.equals("/News.do3"))
		{
			NewsTypeDao nt=new NewsTypeDao();
			List list=nt.getNewsTypeSelect();
			ManagerDao mg=new ManagerDao();
			List list2=mg.getManagerSelect();
			String mname=request.getParameter("mname");
			request.setAttribute("mname", mname);
			request.setAttribute("arr1",list2);
			request.setAttribute("arr2", list);
			request.getRequestDispatcher("NewsInsert.jsp").forward(request, response);
		}
		 if(path.equals("/Newsinsert.do3"))
			{
				String title=request.getParameter("title");
				String mname=request.getParameter("mname");
				String ntname=request.getParameter("ntname");
				String content=request.getParameter("content");
				title=Utils.escapeHTML(title);
				content=Utils.escapeHTML(content);
				if(title.equals("")|mname.equals("")|ntname.equals("")|content.equals(""))
	        	{
	        		request.setAttribute("eoor","请输入完整的新闻信息!!!");
	        		request.setAttribute("path","News.do3");
	        		request.getRequestDispatcher("Eoeer.jsp").forward(request, response);
	        		return;
	        	}
				int ntid=nd.getNewsTypeNtid(ntname);
				int mid=nd.getManagerMid(mname);
			    News ns=new News(title,mid,ntid,content);
			    nd.getNewsInsert(ns);
			    response.sendRedirect("NewsAll.do3");
				
			}
			else if(path.equals("/Newsdelete.do3"))
			{
				String nid=request.getParameter("nid");
				nd.getNewsDelete(Integer.parseInt(nid));
				 response.sendRedirect("NewsAll.do3");
			}
//			else if(path.equals("/NewsTypeSelect.do2"))
//			{
//				List list=new ArrayList();
//				list=md.getNewsTypeSelect();
//				request.setAttribute("list", list);
//				request.getRequestDispatcher("NewsTypeSelect.jsp").forward(request, response);
//				
//			}
			else if(path.equals("/toNewsupdate.do3"))
			{
				
				String nid=request.getParameter("nid");
				String mname=request.getParameter("mname");
				request.setAttribute("mname", mname);
				NewsTypeDao nt=new NewsTypeDao();
				List list=nt.getNewsTypeSelect();//新闻类别的查询方法
				ManagerDao mg=new ManagerDao();
				List list2=mg.getManagerSelect();//管理员的查询方法
				Manager m=(Manager)list2.get(0);
				request.setAttribute("arr1",list2);
				request.setAttribute("arr2", list);				
				News ns=nd.getNidSelect(Integer.parseInt(nid));	
				ns.setNtitle(Utils.unescapeHTML(ns.getNtitle()));
				ns.setNcontent(Utils.unescapeHTML(ns.getNcontent()));
				request.setAttribute("id",request.getParameter("id"));
				request.setAttribute("curpage",request.getParameter("curpage"));
				request.setAttribute("pagesize", request.getParameter("pagesize"));
				request.setAttribute("nt",ns);
				request.getRequestDispatcher("NewsUpdate.jsp").forward(request, response);
				
			}
			else if(path.equals("/Newsupdate.do3"))
			{
				String nid=request.getParameter("nid");
				String title=request.getParameter("title");
				String mname=request.getParameter("mname");
				String ntid=request.getParameter("ntname");
				String content=request.getParameter("content");
				title=Utils.escapeHTML(title);
				content=Utils.escapeHTML(content);
				int mid=nd.getManagerMid(mname);
				System.out.println("发布人ID是是是:"+mid);
				System.out.println("新闻ID是是是:"+nid);
			    News ns=new News(Integer.parseInt(nid),title,mid,Integer.parseInt(ntid),content);				
				nd.getNewsUpdate(ns);
				response.sendRedirect("NewsAll.do3?id="+request.getParameter("id")+"&curpage="+request.getParameter("curpage")+"&pagesize="+request.getParameter("pagesize")+"");
			}
			else if(path.equals("/Newsnid.do3"))
			{
				String nid=request.getParameter("nid");
				nd.getNidSelect(Integer.parseInt(nid));
				response.sendRedirect("NewsSelectPage.do3");
			}
			else if(path.equals("/NewsSelectPage.do3"))
			{
//				实例化一个新闻类别表的对象
				NewsTypeDao nt=new NewsTypeDao();
				//得到页数
				String curpage = request.getParameter("curpage");
				//得到页大小
				String pagesize = request.getParameter("pagesize");
				//得到新闻类别的编号
				String id = request.getParameter("id");
				//判断类别编号是不是NULL,如是就传个最小编号的默认值				
				 String a=String.valueOf(nt.getMinNewsTypeid());
				 id = id == null ? a : id;
				//得到新闻编号
				String id2 = request.getParameter("id2");
				
				//判断新闻编号是不是NULL,如是就传个最大编号的默认值
				 String b=String.valueOf(nd.getMaxNewsid());
				id2 = id2 == null ? b : id2;
//				判断页数是不是NULL,如是就传1做的默认值
				curpage = (curpage == null ? "1" : curpage);
				//判断页大小是不是NULL,如是就传2做的默认值|| curpage.length() == 0
				pagesize = (pagesize == null ? "10" : pagesize);
				//System.out.println(curpage + "\t" + pagesize);
				//根据页数和页大小来判断是否为最新的新闻
                 if(Integer.parseInt(pagesize)==10&Integer.parseInt(curpage)==1)
                 {
                	 request.setAttribute("String", "现在为您提供的是最新10条以内的新闻");
                 }
                 //根据新闻ID来查找相对应评论的条数
                 NewsReplyDao nr=new NewsReplyDao();
                 int nidcount=nr.getNidCount(Integer.parseInt(id2));
				//调用分页的方法,并返回相对应页数的数据
				List list=nd.getNewsPageCount(Integer.parseInt(curpage), Integer.parseInt(pagesize),Integer.parseInt(id));
				
				//查询全部的新闻类别,方便动态的输出页面
				List list2=nt.getNewsTypeSelect();
				//根据新闻类别的ID到新闻表中查到相对应的新闻
				List list3=nd.getNtidSelectList(Integer.parseInt(id));	
				//根据新闻类别的ID返回一个新闻类别的对象,得到图片路径
				 NewsType nt2=nt.getNtidSelect(Integer.parseInt(id));
				 //将对象中的图片路径保存在nt3中
				 String nt3=nt2.getNtpicture();
				 //将新闻类别ID保存在sesstion中
				 HttpSession session=request.getSession();
				 session.setAttribute("id",id);
			    //将nt3保存在request中
				 session.setAttribute("nt3",nt3);
				
				 //将list3保存在request中
				request.setAttribute("list3", list3);
                //将list2保存在request中
				request.setAttribute("arr1",list2);
                //将list保存在request中
				request.setAttribute("list",list);
                //将curpage保存在request中
				request.setAttribute("curpage",curpage);
				 //将pagesize保存在request中
				request.setAttribute("pagesize",pagesize);
                //将nd.getNewsCount()保存在request中
				request.setAttribute("newsTypeCount", nd.getNewsCount(Integer.parseInt(id)));
				 //将nd.getPageSize(Integer.parseInt(pagesize))保存在request中
				request.setAttribute("allpagesize",nd.getPageSize(Integer.parseInt(pagesize),nd.getNewsCount(Integer.parseInt(id))));
				 //将转发到NewsSelect.jsp页面中
				request.getRequestDispatcher("NewsSelect.jsp").forward(request, response);
			}
			else if(path.equals("/NewsSelect.do3"))
			{
               //得到新闻编号
				String id2 = request.getParameter("id2");
				String curpage = request.getParameter("curpage");
				//得到页大小
				String pagesize = request.getParameter("pagesize");
				//得到新闻类别的编号
				String id = request.getParameter("id");
				 //根据新闻的ID得到该新闻的对象
				 News news=nd.getNidSelect(Integer.parseInt(id2));
				  //根据新闻ID来查找相对应评论的条数
                 NewsReplyDao nr=new NewsReplyDao();
                 int nidcount=nr.getNidCount(news.getNid());
                 
                 //将新闻总评论数保存
                 //将curpage保存在request中
 				request.setAttribute("curpage",curpage);
 				 //将pagesize保存在request中
 				request.setAttribute("pagesize",pagesize);
				 request.setAttribute("nidcount", nidcount);
				 System.out.println(curpage);
				 request.setAttribute("news",news);
				 request.getRequestDispatcher("News.jsp").forward(request,response);
			}
			else if(path.equals("/NewsAll.do3"))
			{
				//实例化一个新闻类别表的对象
				NewsTypeDao nt=new NewsTypeDao();
			//得到页数
			String curpage = request.getParameter("curpage");
			//得到页大小
			String pagesize = request.getParameter("pagesize");
			//得到新闻类别的编号
			String id = request.getParameter("id");
			//判断类别编号是不是NULL,如是就传个最小编号的默认值				
			 String a=String.valueOf(nt.getMinNewsTypeid());
			 id = id == null ? a : id;
			//得到新闻编号
			String id2 = request.getParameter("id2");
			
			//判断新闻编号是不是NULL,如是就传个最大编号的默认值
			 String b=String.valueOf(nd.getMaxNewsid());
			id2 = id2 == null ? b : id2;
//			判断页数是不是NULL,如是就传1做的默认值
			curpage = (curpage == null ? "1" : curpage);
			//判断页大小是不是NULL,如是就传2做的默认值|| curpage.length() == 0
			pagesize = (pagesize == null ? "10" : pagesize);
			 if(Integer.parseInt(pagesize)==10&Integer.parseInt(curpage)==1)
             {
            	 request.setAttribute("String", "现在为您提供的是最新10条以内的新闻");
             }
			//调用分页的方法,并返回相对应页数的数据
			List list=nd.getNewsPageCount(Integer.parseInt(curpage), Integer.parseInt(pagesize),Integer.parseInt(id));
			
			//查询全部的新闻类别,方便动态的输出页面
			List list2=nt.getNewsTypeSelect();
			//根据新闻类别的ID到新闻表中查到相对应的新闻
			List list3=nd.getNtidSelectList(Integer.parseInt(id));	
			//根据新闻类别的ID返回一个新闻类别的对象,得到图片路径
			 NewsType nt2=nt.getNtidSelect(Integer.parseInt(id));
			 //将对象中的图片路径保存在nt3中
			 String nt3=nt2.getNtpicture();
			 //将新闻类别ID保存在sesstion中
			 HttpSession session=request.getSession();
			 session.setAttribute("id",id);
		    //将nt3保存在request中
			 request.setAttribute("nt3",nt3);
			 //将list3保存在request中
			request.setAttribute("list3", list3);
            //将list2保存在request中
			request.setAttribute("arr1",list2);
            //将list保存在request中
			request.setAttribute("list",list);
            //将curpage保存在request中
			request.setAttribute("curpage",curpage);
			 //将pagesize保存在request中
			request.setAttribute("pagesize",pagesize);
            //将nd.getNewsCount()保存在request中
			request.setAttribute("newsTypeCount", nd.getNewsCount(Integer.parseInt(id)));
			 //将nd.getPageSize(Integer.parseInt(pagesize))保存在request中
			request.setAttribute("allpagesize",nd.getPageSize(Integer.parseInt(pagesize),nd.getNewsCount(Integer.parseInt(id))));
			 //将转发到NewsSelect.jsp页面中
			//request.getRequestDispatcher("NewsSelect.jsp").forward(request, response); //将转发到NewsSelect.jsp页面中
				request.getRequestDispatcher("Update.jsp").forward(request, response);
			}
			else if(path.equals("/NewsSelect2.do3"))
			{
               //得到新闻编号
				String id2 = request.getParameter("id2");
				String curpage = request.getParameter("curpage");
				//得到页大小
				String pagesize = request.getParameter("pagesize");
				//得到新闻类别的编号
				String id = request.getParameter("id");
				 //根据新闻的ID得到该新闻的对象
				 News news=nd.getNidSelect(Integer.parseInt(id2));
				 //将curpage保存在request中
	 				request.setAttribute("curpage",curpage);
	 				 //将pagesize保存在request中
	 				request.setAttribute("pagesize",pagesize);
				 request.setAttribute("news",news);
				 request.getRequestDispatcher("News2.jsp").forward(request, response);
			}
			else if(path.equals("/Top10News.do3"))
			{
				NewsReplyDao nr=new NewsReplyDao();
				List list=nr.getMaxNewsReplyCount();
				// nidcount=nr.getNidCount(Integer.parseInt(list.get(i).toString()));
				int nidcount=0;
				List list2=new ArrayList();
				News news=null;
				//System.out.println("地 "+list2);
				for(int i=0;i<list.size();i++)
				{
					news=new News();
					news=nd.getNidSelect(Integer.parseInt(list.get(i).toString()));					
					 news.setCount(nr.getNidCount(Integer.parseInt(list.get(i).toString())));
					 list2.add(news);
				}
			//	System.out.println("到这里");
				request.setAttribute("list2", list2);
			//	request.setAttribute("nidcount", nidcount);
				
				request.getRequestDispatcher("Top10News.jsp").forward(request, response);
			}
			else if(path.equals("/deletemany.do3")){
				String ids = request.getParameter("ids");
				System.out.println("批量删除的号是:"+ids);
				nd.deleteBatchSaying(ids);
				//System.out.println(s);
				response.sendRedirect("NewsAll.do3");
				System.out.println("后面的语句");
				//request.getRequestDispatcher("querybypage.do").forward(request, response);
			}
			else if(path.equals("/NewsSelect3.do3"))
			{
               //得到新闻编号
				String id2 = request.getParameter("id2");
				
				 //根据新闻的ID得到该新闻的对象
				 News news=nd.getNidSelect(Integer.parseInt(id2));
				  //根据新闻ID来查找相对应评论的条数
                 NewsReplyDao nr=new NewsReplyDao();
                 int nidcount=nr.getNidCount(news.getNid());
                 
                 //将新闻总评论数保存
				 request.setAttribute("nidcount", nidcount);
				 request.setAttribute("news",news);
				 request.getRequestDispatcher("News3.jsp").forward(request, response);
			}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -