帮忙看下登录系统,为什么点击登录账号密码跟数据库里的账号密码一样还是提示登陆失败呢,

peisir888 2017-05-07 12:29:35
1.我用的是Myeclipse写的,这是bean目录,储存用户名跟密码的;
package com.cqrs.bean;

public class User {
public String userName;
public String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

2.我用的是连接池储存数据
package com.cqrs.dao;

import org.apache.commons.dbcp2.BasicDataSource;



public class DataSourcePoll {
static String url = "jdbc:mysql://127.0.0.1:3306/student?characterEncoding=utf8";
static String userName = "root";
static String password = "123";
static String driverClassName = "com.mysql.jdbc.Driver";
public static BasicDataSource bs ;
static {
bs = new BasicDataSource();
bs.setDriverClassName(driverClassName);
bs.setUrl(url);
bs.setUsername(userName);
bs.setPassword(password);
}
}

3.判断预编译的sql语句能不能执行,并且返回true跟false,true代表可以被执行,false代表不能被执行
package com.cqrs.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.cqrs.bean.User;
import com.cqrs.dao.DataSourcePoll;
public class Admin {
public boolean dengLu(User user) throws SQLException{

String sql = "select * from test where user_name =? and user_password =? ";

Connection conn = DataSourcePoll.bs.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);

ps.setString(1, user.getUserName());
ps.setString(2, user.getPassword());
ResultSet rst=ps.executeQuery();
if(rst.next()){
return true;
}else{
return false;
}

}
}

4.我的servlet编写
package com.cqrs.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.cqrs.bean.User;
import com.cqrs.dao.Admin;

public class Servlet extends HttpServlet {

public Servlet() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

Admin ad = new Admin();

String userName = request.getParameter("userName");
String password = request.getParameter("password");
User us = new User();
us.setUserName(userName);
us.setPassword(password);
boolean str = true;

try {
str = ad.dengLu(us);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


if(str){


response.sendRedirect(request.getContextPath()+"/ss?method=list");
}else{
request.setAttribute("error", 0);
request.getRequestDispatcher("/WEB-INF/Login.jsp").forward(request, response);
}
}

}
5.我的jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
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>Loginpage</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">
-->
<script>
var error = ${error};
if(error==0){
alert("登录失败");}
</script>
</head>

<body>
<h1 align="center" >学生管理系统</h1>
<form action="<%=path%>/ss1" method="post">
账号:<input type="text" name=userName/><br>
密码:<input type="text" name=password/><br>
<input type="submit" onclick="return confirm(是否确定登录)" value="登录"/>
<input type="submit" value="返回">
</form>
</body>
</html>


6.我的web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>StuServlet</servlet-name>
<servlet-class>com.cqrs.servlet.StuServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>login</servlet-name>
<jsp-file>/WEB-INF/Login.jsp</jsp-file>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>Servlet</servlet-name>
<servlet-class>com.cqrs.servlet.Servlet</servlet-class>
</servlet>


<servlet-mapping>
<servlet-name>StuServlet</servlet-name>
<url-pattern>/ss</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/ss2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/ss1</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>











...全文
204 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
业余草 2017-05-07
  • 打赏
  • 举报
回复
自己单步调试一下! www.xttblog.com www.codedq.net 业余草 CODE大全

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧