📄 newsservlet.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 + -