当前位置: 代码迷 >> Java Web开发 >> 使用Servlet实现页面跳转,在本地运行没有有关问题,在服务器端就不可以
  详细解决方案

使用Servlet实现页面跳转,在本地运行没有有关问题,在服务器端就不可以

热度:125   发布时间:2016-04-13 22:30:02.0
使用Servlet实现页面跳转,在本地运行没有问题,在服务器端就不可以
 做了一个登录页面,在表单上填写用户名密码,然后使用servlet获取表单的内容,与数据库进行比较,比较正确进行页面的跳转。在本地测试的时候一切运行正常。放到服务器上就运行不了。具体问题就是无论输入正确的用户名密码还是错误的,网页都显示正在连接,然后就没有然后了…… 求助各位,这大约是哪方面的问题? 

  补充:网页是用NetBeans开发的,servlet的配置文件都是自动生成的,会是这方面的问题?

附上servlet中的dopost方法代码


 

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletExceptionIOException {request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String name=request.getParameter("name");
        String pwd=request.getParameter("pwd");
                  MessageDBcon con=new MessageDBcon();
         
         String sql="select * from manager where name='"+name+"' and  pwd='"+pwd+"'";
          ResultSet rs=con.query(sql);     
         int flag=0;
                            try{          
                if(rs.next()){                   
                        flag=1;//验证成功
                                                HttpSession session=request.getSession();
                                                session.setAttribute("manager", name);
                                                //request.getRequestDispatcher("bg_management.jsp").forward(request, response);
                                                 
                                                JOptionPane.showMessageDialog(null, "登陆成功!");
                                                   request.getRequestDispatcher("background_Main.html").forward(request, response);
                          }
                        else {                                      
                            flag=0;//验证不成功
                                                     
                                                       JOptionPane.showMessageDialog(null, "您输入的管理员用户名或密码错误");
                                                       // request.setAttribute("error","您输入的管理员用户名或密码错误");
                                                         
                                                        request.getRequestDispatcher("index.jsp").forward(request, response);
                        }                                   
                }
            catch (SQLException ex){
                            flag=0;                       
     }
         
           
    }

------解决思路----------------------
表单提交  默认get   你看看你的表单提交方式
------解决思路----------------------
看看是不是转发路劲问题。通常来说request.getRequestDispatcher("index.jsp").forward(request, response);是有加 “ / ”。如果还不行,就试试相对路劲。request.getContextPath.
     request.getRequestDispatcher(request.getContextPath() + "/index.jsp").forward(request, response);
------解决思路----------------------
action改为${pageContext.request.contextPath}/servlet/loginServlet
  相关解决方案