猿问

input输入值以后,后端servlet通过getparameter(name)获取的值为空

上代码: login.jsp的代码 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css/bootstrapValidator.css"> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="js/bootstrap.min.js"> <link rel="stylesheet" href="css/bootstrapValidator.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>验证页面</title> </head> <body> <form method="post" action="HandleLogin"> <div class="form-group "> <label class="control-label">账号:</label> <input type="text" class="form-control" id="userid" name="userid" placeholder="请输入您的账号" required /> <span class="glyphicon glyphicon-ok form-control-feedback"></span> </div> <div class="form-group"> <label>密码:</label> <input type="password" class="form-control" id="passwd" name="passwd" placeholder="请输入您的密码" required /> <span class="glyphicon glyphicon-ok form-control-feedback"></span> </div> <input type="reset" class="btn " value="重置" > <input type="submit" class="btn btn-success" > </form> </body> </html> Login包的代码 package data; public class Login { String userid,username,passwd,backNews,ipaddress=""; boolean success = false; public void setUserid(String userid) { this.userid = userid; } public String getUserid() { return userid; } public void setUsername(String username) { this.username = username; } public String getUsername() { return username; } public void setPasswd(String passwd) { this.passwd = passwd; } public String getPasswd() { return passwd; } public String getBackNews() { return backNews; } public void setBackNews(String s) { this.backNews = s; } public void setIpaddress(String ipaddress) { this.ipaddress = ipaddress; } public String getIpaddress() { return ipaddress; } public void setSuccess(boolean b) { this.success = b; } public boolean getSuccess() { return success; } } servlet的代码 package servlet; import data.*; import data.Login; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; @WebServlet(name = "HandleLogin") public class HandleLogin extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException { super.init(config); try{ Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e){} } public String handleString(String s){ try { byte bb[] = s.getBytes("iso-8859-1"); s=new String(bb); } catch (Exception ee){} return s; } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection con; Statement sql; Login loginBean = null; String backNews = ""; HttpSession session = request.getSession(true); try { loginBean = (Login)session.getAttribute("login"); if (loginBean == null) { loginBean = new Login(); session.setAttribute("login", loginBean); } } catch (Exception ee) { loginBean = new Login(); session.setAttribute("login", loginBean); } String userid = request.getParameter("userid").trim(); String passwd = request.getParameter("passwd").trim(); boolean ok = loginBean.getSuccess(); userid = handleString(userid); passwd = handleString(passwd); if (ok == true && userid.equals(loginBean.getUserid())) { backNews = userid + "已经登录了"; loginBean.setBackNews(backNews); } else { String url = "jdbc:mysql://localhost:3306/hanfu"; boolean boo = (userid.length() > 0) && (passwd.length() > 0); try { con = DriverManager.getConnection(url, "root", ""); String condition = "select * from users where userid='" + userid + "'and passwd ='" + passwd + "'"; sql = con.createStatement(); if (boo) { ResultSet rs = sql.executeQuery(condition); boolean m = rs.next(); if (m == true) { backNews = "登陆成功"; loginBean.setBackNews(backNews); loginBean.setSuccess(true); loginBean.setUserid(userid); System.out.println("登陆成功"); } else { backNews = "用户名或密码错误"; loginBean.setBackNews(backNews); loginBean.setSuccess(false); loginBean.setUserid(userid); loginBean.setPasswd(passwd); System.out.println("用户名或密码错误"); } } else { backNews = "用户名或密码错误"; loginBean.setBackNews(backNews); loginBean.setSuccess(false); loginBean.setUserid(userid); System.out.println("用户名或密码错误"); } // else { // backNews="用户名或密码错误"; // loginBean.setBackNews(backNews); // loginBean.setSuccess(false); // loginBean.setUserid(userid); // loginBean.setPasswd(passwd); // } con.close(); } catch(SQLException exp){ backNews = "" + exp; loginBean.setBackNews(backNews); loginBean.setSuccess(false); } } RequestDispatcher dispatcher = request.getRequestDispatcher("hanfu_showlogin.jsp"); dispatcher.forward(request,response); } // public String getIpAddr(HttpServletRequest request) { // String ip = request.getHeader("x-forwarded-for"); // if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { // ip = request.getHeader("Proxy-Client-IP"); // } // if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { // ip = request.getHeader("WL-Proxy-Client-IP"); // } // if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { // ip = request.getRemoteAddr(); // } // if(ip.startsWith("192")){} // else{ip="";} // return ip; // } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } } 然后loginshow的跳转代码 <%-- Created by IntelliJ IDEA. User: susheng0508 Date: 2018/6/14 Time: 20:29 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="data.Login" %> <html> <head> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css/bootstrapValidator.css"> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="js/bootstrap.min.js"> <link rel="stylesheet" href="css/bootstrapValidator.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> <title>登录情况</title> </head> <body> <div class="container" style="text-align: center"> <jsp:useBean id="login" type="data.Login" scope="session"/> <br><jsp:setProperty name="login" property="backNews"/> <% if (login.getSuccess()==true){ %> <h3>登陆成功</h3> <br>登陆账号为:<jsp:setProperty name="login" property="userid"/> <%--<br>登陆会员名为:<%=getIpAddr(request)%>--%> <br><input type="submit" class="btn" onclick='location.href=("hanfu_personal.jsp")' value="跳转至个人中心"> <%} else {%> <h3>登录失败</h3> <br>你输入的账号为:<jsp:setProperty name="login" property="userid"/> <br>你输入的密码为:<jsp:setProperty name="login" property="passwd"/> <br><input type="submit" class="btn" onclick='location.href=("hanfu_login.jsp")' value="返回登陆界面"> <%}%> </div> </body> </html> 我是才学jsp的小白。。。真的没想到照着书打也会有这么多问题,我真的太笨了 无论我在login输入什么数值,最后loginshow的页面出现的值都为空
行歌尽落霜
浏览 1631回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答