package done;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.jms.ServerSession;
import javax.jms.Session;
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 bean.NRC_NEWS;
import bean.NRC_TYPE;
import bean.NRC_USER;
import dal.News_Dal;
import dal.News_type_Dao;
public class NrsServlet extends HttpServlet {
//新闻管理对象
News_Dal newsDal = new News_Dal();
static ArrayList<NRC_TYPE> list=new ArrayList<NRC_TYPE>();
static News_type_Dao type=new News_type_Dao();
static NRC_TYPE typebean=null;
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置reuqest和response的编码格式
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
//获取前台传来的method参数,调用相应方法
String method = request.getParameter("method");
System.out.println("---方法名----"+method);
if(method.equals("addnews")){
System.out.println("----添加新闻----");
addNews(request,response);
}else if(method.equals("deleteNews")){
System.out.println("----删除新闻----");
deleteNews(request,response);
}else if(method.equals("updateNews")){
queryNews(request,response);
}else if(method.equals("rupdateNews")){
updateNews(request,response);
}else if(method.equals("login")){
login(request,response);
}else if(method.equals("updatePwd")){
updatePw(request,response);
/******------------类别管理-----------------****/
} else if(method.equals("delete")){
String type_ID=request.getParameter("ID");
int id=-1;
if(type_ID!=null){
id=Integer.parseInt(type_ID);
}
System.out.println("类别删除接收到的方法名称\t"+method+"传递过来 的ID\t"+type_ID);
type.deleteID(id);
// request.getRequestDispatcher("Menu/type_listall.jsp").forward(request, response);
request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_listall.jsp");
}else if(method.equals("detail")){
String type_ID=request.getParameter("ID");
System.out.println("类别详情接收到的方法名称\t"+method+"传递过来 的ID\t"+type_ID);
int id=-1;
if(type_ID!=null){
id=Integer.parseInt(type_ID);
}
typebean=new NRC_TYPE();
typebean=type.query(id);
//request.setAttribute("typebean", typebean);
request.getSession().setAttribute("typebean", typebean);
//request.getRequestDispatcher("Menu/type_detail.jsp").forward(request, response);
request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_detail.jsp");
}else if(method.equals("update")){
String type_ID=request.getParameter("ID");
int id=-1;
if(type_ID!=null){
id=Integer.parseInt(type_ID);
}
System.out.println("类别修改接收到的方法名称\t"+method+"传递过来 的ID\t"+type_ID);
typebean=new NRC_TYPE();
typebean=type.query(id);
//request.setAttribute("typebean", typebean);
request.getSession().setAttribute("typebean", typebean);
//request.getRequestDispatcher("Menu/type_update.jsp").forward(request, response);
request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_update.jsp");
}else if(method.equals("add")){
//request.getRequestDispatcher("Menu/type_add.jsp").forward(request, response);
request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_add.jsp");
}else if(method.equals("updatemessage")){
String unid=request.getParameter("unid");
int urid=Integer.parseInt(unid);
String uname=request.getParameter("uname");
String umessage=request.getParameter("umessage");
System.out.println(urid+"类别名称\t"+uname+"类别备注\t"+umessage);
if(!(uname.equals(""))&&(umessage!=null)){
type.update(urid, uname, umessage);
//request.getRequestDispatcher("Menu/type_listall.jsp").forward(request, response);
//request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_listall.jsp");
}
}else if(method.equals("addresult")){
String name=request.getParameter("addname");
String message=request.getParameter("addmessage");
if(!(name.equals(""))&&(message!=null)){
if(type.queryNAME(name)==false){
type.add(name, message);
// request.getRequestDispatcher("Menu/type_listall.jsp").forward(request, response);
request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_listall.jsp");
}else{
//request.getRequestDispatcher("Menu/type_adderror.jsp").forward(request, response);
request.getSession().setAttribute("request", request);
response.sendRedirect("Menu/type_adderror.jsp");
}
System.out.println("类别添加结果接收到的方法名称\t"+method);
}
else{
System.out.println("添加数据为空");
}
}
}
//用户登录验证
private void login(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
//获取登录信息
String username = request.getParameter("username");
String password = request.getParameter("password");
//验证
News_Dal userdao = new News_Dal();
NRC_USER user = userdao.userlogin(username, password);
//登录成功
if(user!=null){
request.getSession().setAttribute("loginuser", user);
response.sendRedirect("indexx.html");
}else{
response.sendRedirect("Menu/Fail.jsp");
}
}
//用户密码修改
public void updatePw(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
NRC_USER getUser = (NRC_USER)request.getSession().getAttribute("loginuser");
int userid = getUser.getU_ID();
System.out.println("获得的id为:"+userid);
String newPwd = request.getParameter("password");
String verifyPwd = request.getParameter("verifyPassword");
if(newPwd.equals(verifyPwd)){
int result = newsDal.updateUserPwd(newPwd, userid);
if(result!=0){
response.sendRedirect("Menu/news-list.jsp");
}else{
request.getRequestDispatcher("Menu/Fail.jsp").forward(request, response);
}
}
}
//添加新闻逻辑处理层
private void addNews(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//实例化新闻对象
NRC_NEWS news = new NRC_NEWS();
//设置标志量
int flag = 0;
System.out.println("当前所在位置:增加新闻");
//获取前台参数
int T_ID = Integer.parseInt(request.getParameter("typeSelect"));
String NEWS_TITLE = request.getParameter("newsTitle");
String NEWS_CONTENT = request.getParameter("newsContent");
//自动设置增加时间
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String time = formatter.format(date);
System.out.println("当前时间获取成功"+time);
//设置对象各参量的值
news.setN_TITLE(NEWS_TITLE);
news.setN_CONTENT(NEWS_CONTENT);
news.setT_ID(T_ID);
news.setN_PUBLISHTIME(time);
flag = newsDal.addNews(news);
//判断是否添加成功
if(flag!=0){
request.setAttribute("flag", "true");
response.sendRedirect("Menu/news-list.jsp");
}else{
request.getRequestDispatcher("Menu/Fail.jsp").forward(request, response);
}
}
//删除某条新闻逻辑处理
private void deleteNews(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//获取要删除的新闻ID
int id = Integer.parseInt(request.getParameter("ID"));
int flag = newsDal.delNews(id);
PrintWriter out = response.getWriter();
System.out.println("获取的要删除的新闻ID为:"+id);
if(flag!=0){
request.setAttribute("flag", "true");
response.sendRedirect("Menu/news-list.jsp");
}else{
request.getRequestDispatcher("Menu/Fail.jsp").forward(request, response);
}
}
//查询新闻逻辑层
private void queryNews(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//获取要修改的新闻ID
int id = Integer.parseInt(request.getParameter("ID"));
System.out.println("新闻ID"+id);
//查询到新闻信息并在输入框赋值
NRC_NEWS news = newsDal.queryNews(id);
//传参并跳转
request.getSession().setAttribute("newsInfo", news);
//request.getRequestDispatcher("Menu/update-newss.jsp").forward(request, response);
response.sendRedirect("Menu/update-news.jsp");
}
//修改新闻逻辑层
private void updateNews(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
NRC_NEWS news = new NRC_NEWS();
//设置标志量
int flag = 0;
System.out.println("当前所在位置:修改新闻");
//获取前台参数
int T_ID = Integer.parseInt(request.getParameter("typeSelect"));
int N_ID = Integer.parseInt(request.getParameter("N_ID"));
String NEWS_TITLE = request.getParameter("newsTitle");
String NEWS_CONTENT = request.getParameter("newsContent");
//自动设置增加时间
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String time = formatter.format(date);
System.out.println("当前时间获取成功"+time);
//设置对象各参量的值
news.setN_TITLE(NEWS_TITLE);
news.setN_CONTENT(NEWS_CONTENT);
news.setT_ID(T_ID);
news.setN_PUBLISHTIME(time);
news.setN_ID(N_ID);
flag = newsDal.updateNews(news);
//判断是否修改成功
if(flag!=0){
request.getSession().setAttribute("flag", "true");
response.sendRedirect("Menu/news-list.jsp");
//request.getRequestDispatcher("Menu/news-list.jsp").forward(request, response);
}else{
request.getRequestDispatcher("Menu/Fail.jsp").forward(request, response);
}
}
}
在frameset框架综合servlet跳转页面
request.getRequestDispatcher(“Menu/type_listall.jsp”).forward(request, response);是没有作用的
而是用 这种格式:
request.getSession().setAttribute(“request”, request);
response.sendRedirect(“Menu/type_listall.jsp”);
这样才可以条主那