JSPservlet跳转页面404错误

来源:互联网 发布:数据库抽取0或null 编辑:程序博客网 时间:2024/06/05 02:22
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”);
 这样才可以条主那

0 0
原创粉丝点击