请问这个简单的登录界面为什么跳转老错,就是登录账户和密码都对的还跳转不到指定页面?

问题描述

代码://///////////////////////////////////////LoginServlet.javapackage login;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class LoginServlet extends HttpServlet {public void init() throws ServletException {}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//response.setContentType("text/html");doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");//从请求中取出用户名和密码的值 String username = request.getParameter("username"); String password = request.getParameter("password"); //生成一个ArrayList对象,并把用户名和密码的值存入该对象中. ArrayList arr = new ArrayList(); arr.add(username); arr.add(password); //生成一个session对象 HttpSession session = request.getSession(true); session.removeAttribute("username"); session.setAttribute("usrename", username); //调用模型组件loginHandler,检查该用户是checkLogin否已经注册 LoginHandler login = new LoginHandler(); try {//判断下booleanmark = login.checkLogin(arr);if(mark) response.sendRedirect("main.jsp"); else response.sendRedirect("register.jsp");} catch (Exception e) {e.printStackTrace();} }public LoginServlet() {super();}public void destroy() {super.destroy(); }}///////////////////////////////////////////LoginHandler.javapackage login;import java.sql.*;import java.util.*;class LoginHandler {public LoginHandler(){}Connection conn;PreparedStatement ps;ResultSet rs;//检查是否已经注册public boolean checkLogin(ArrayList arr){//数据库中访问组件DBPoolZ中取得连接conn = DBPool.getConnection();String name = (String)arr.get(0);String password = (String)arr.get(1);try{//rs = ps.executeQuery("select * from bbs.t_userinfo where username=? and password=?");//while(rs.next())//{//if(name.equals(rs.getString("username"))&&password.equals(rs.getString("password"))){//DBPool.dbClose(conn,ps,rs);//return true;//}//else return false;//}String sql = "select * from bbs.t_userinfo where username=? and password=?";ps = conn.prepareStatement(sql);ps.setString(1,name);ps.setString(2,password);rs = ps.executeQuery();if(rs.next()){DBPool.dbClose(conn,ps,rs);return true;}else {DBPool.dbClose(conn,ps,rs);return false;}}catch(SQLException e){return false;}}}////////////////////////////////////////////////////////////////////DBPool.javapackage login;import java.io.*;import java.sql.*;import java.util.Properties;public class DBPool { private static DBPool instance = null; //取得连接 public static synchronized Connection getConnection(){ if(instance == null){ instance = new DBPool(); } return instance._getConnection(); } private DBPool(){super();} private Connection _getConnection(){ try{ String sDBDriver = null; String sConnection = null; String sUser = null; String sPassword = null; Properties p = new Properties(); InputStream is = getClass().getResourceAsStream("/db.properties"); p.load(is); sDBDriver = p.getProperty("DBDriver",sDBDriver); sConnection = p.getProperty("Connection", sConnection); sUser = p.getProperty("User",sUser); sPassword = p.getProperty("Password",sPassword); Properties pr = new Properties(); pr.put("user", sUser); pr.put("password", sPassword); pr.put("characterEncoding", "GB2312"); pr.put("useUnicode", "TRUE"); Class.forName(sDBDriver); return DriverManager.getConnection(sConnection,pr); } catch(Exception e){ System.out.println(e); return null; } } //释放资源 public static void dbClose(Connection conn,PreparedStatement ps,ResultSet rs) throws SQLException { rs.close(); ps.close(); conn.close(); }}//////////////////////////////////db.propertiesDBDriver = com.mysql.jdbc.DriverConnection = jdbc:mysql://localhost:3306/bbs/username=? and password=?User = Password =////////////////////////////login.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>登录页面</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <form method ="post" action="loginservlet">用户名:<input type="text" name="username" size="15"><br><br>密码:<input type="password" name="password" size="15"><br><br><input type="submit" name="submit" value="登录"><br></form> </body></html>//////////////////////////////////////////////////////两外两个页面就不写了。求高手指导指导 问题补充:wenchenyangailiuyan 写道

解决方案

response.sendRedirect("main.jsp"); response.sendRedirect("register.jsp"); 你的main.jsp,register.jsp是和login.jsp放同一个文件夹里吗?不行的话,把路径写死试试:response.sendRedirect("/project_name/xxx/xxx.jsp");
解决方案二:
改成这个试试response.sendRedirect(" request.getContextPath()/main.jsp"); 能把你的错误贴出来吗
解决方案三:
response.sendRedirect(" request.getContextPath()main.jsp"); 同理试试
解决方案四:
你这个加上path路径试试,重定向好像是相当于上下文路径而言的

时间: 2024-07-30 23:21:45

请问这个简单的登录界面为什么跳转老错,就是登录账户和密码都对的还跳转不到指定页面?的相关文章

如何把握登录界面易用与安全的平衡

  不论是网页设计师还是UI设计师,登录和注册页面的设计是必然经历过的工作内容.登录界面的设计说难不难,说容易也不是那么轻松就可以做好的,要在安全和可用性之间找到登录界面的平衡点,还是需要相当的经验来支撑的.今天的文章来自GoSquared团队,他们在登录界面的设计上细致入微,值得学习哦~ 对于GoSquared 的每一个设计细节,我们都非常之上心.最近登录界面改版,新加入的双重认证机制使得用户账户更加安全,与此同时,我们也借此机会逐步提升用户登录的体验. 提升登录界面的用户体验并没有看起来那么

优化用户登录界面 抢先亮出招牌旗帜

21世纪是互联网高速发展的时代,此时网页设计也越来越呈现多元化的趋势,争取在第一感官上获得用户的好感.众所周知,网页流量.用户活跃度是检验一个网站成败的指标.从古至今,传统行业的商家都十分注重门面的装饰.一个店面的装饰风格体现本店的消费水准和适宜人群,以此来招揽顾客.互联网来源于生活,也有如此的讲究.就像是人的脸面之于形象一样,网站的登录界面的重要性不言而喻. 登录界面向来是发挥感情设计,拉近与用户距离,提升用户体验的重要拒地.小编从自己多年混迹于网络世界的经验来谈谈,为大家介绍几种经典的登录界

c#-C#登录界面 用户名密码要和权限(如学生 。老师)对应代码

问题描述 C#登录界面 用户名密码要和权限(如学生 .老师)对应代码 我做的c#登录界面,数据库为acess,我输入一个用户名和密码选择不同的权限能进入不同权限的界面.求怎样能一个用户名密码只能对应一个权限的代码. 解决方案 虽然你的设计很奇怪,但是非要这么做也不是不可以.只是那你得维护权限和密码的关系表,以及用户和权限的关系表,而不是用户直接和密码的关系. 解决方案二: 一般权限体系是和角色挂钩的,比如有这样的角色:教师.学生,不同的角色具有不同的功能权限.具体某个用户归属于哪个角色, 他就具

link的环境下,使用codefirst制作《网盘软件》,下载器如何对接“登录界面”?

问题描述 link的环境下,使用codefirst制作<网盘软件>,下载器如何对接"登录界面"? link的环境下,使用codefirst制作<网盘软件>,下载器如何对接"登录界面"? 解决方案 可以使用webbrowser做一个登录对话框,嵌入程序中.

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)

去年八月时要做一个OA系统为了后台界面而烦恼,后来写了一篇博客(<后台管理UI的选择>)介绍了选择过程与常用后台UI,令我想不到的时竟然有许多开发者与我一样都为这个事情而花费不少时间,最后界面效果还是不佳:还好这个OA系统已经基本交付给客户在使用了,但登录界面还是非常难看,这几天花时间修改了一下,感觉还行,在网上下载了不少的资源,现在将PSD.图片与常用网址分享给大家,希望对大伙也有帮助.在网页设计过程中,如果有现成的 PSD 素材可以使用,那么可以事半功倍,因为PSD文件是Photoshop

密码-Android的登录界面和注册界面之间的跳转问题

问题描述 Android的登录界面和注册界面之间的跳转问题 想做一个简易系统 1.软件名字为"CardsAssistant",兼容Android4.0以上版本. 2. 当用户启动本软件,显示标题为"CardsAssistant"的登录页面,如图1所示,登录页面中有两个名为"账户名"."密码"的TextView,这两个TextView分别对应一个EditText,当用户点击"取消"按钮时,当前CardsAss

jsp和servlet编写登录界面时?登录成功与否该用客户端跳转还是服务器跳转

问题描述 jsp和servlet编写登录界面时?登录成功与否该用客户端跳转还是服务器跳转 3C jsp和servlet编写登录界面时?登录成功与否该用客户端跳转还是服务器跳转 1.服务器端跳转:forward 2.客户端跳转:sendRediirect 请问该用哪一个?两个方法有什么区别? 解决方案 客户端跳转与服务器跳转服务器跳转与客户端跳转的区别服务器跳转与客户端跳转的区别 解决方案二: 用forward是转发,在新页面上不会有跳转时的比如登录名密码之类的信息,更安全而且效率更高,,send

Ubuntu输入正确的账号密码但登陆后又跳回到登录界面的解决方案

启动系统,输入正确的账号和密码,点击登录,屏幕一闪,然后又跳回登录界面.问题原因:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件 . 说明:Xauthority,是startx脚本记录文件.Xserver启动时,读文件~/.Xauthority,读入对应其display 的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给 Xserver.当Xserver验证这

spring security刷新会跳转到登录界面

问题描述 我用springsecurity来做安全控制,跟struts框架结合.如果刷新action页面的时候,都会跳转到登录界面,已经设置了rememberme功能.如果直接访问jsp页面的话,就不会出现这个问题. 解决方案 解决方案二:ss很繁琐,还不如自己写权限控制.解决方案三:有一个现成的框架还是比自己从头写还是好些.