1. 程式人生 > >JSPservlet跳轉頁面404錯誤

JSPservlet跳轉頁面404錯誤

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”);
 這樣才可以條主那