前台传值过来,获得之后,和后台处理的数据库的值比较,应该如何比较
我想用list来做的,但是list获取不到里面的值package net.itcast;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;public class UserDao {
public List get() throws ClassNotFoundException, SQLException{
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/srplatform";
Connection connection=DriverManager.getConnection(url,"root","123");
List aList=new ArrayList();
Statement statement= connection.createStatement();
String sql ="select e.ename from exercise e";
ResultSet rs=statement.executeQuery(sql);
while(rs.next()){
UserVO userVO = new UserVO();
userVO.setEname(rs.getString("ename"));
aList.add(userVO);
}
return aList;
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package net.itcast;import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/**
*
* @author xingxing
*/
public class UserVerify extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
UserService userService =new UserService();
try {
List ali=userService.get();
for(int i=0;i<ali.size();i++){
PrintWriter out = response.getWriter();
try {
String param = request.getParameter("userName");
if (param == null || param.length() == 0) {
out.println("用户名不能为空");
} else {
String userName = URLDecoder.decode(param, "UTF-8");
if (userName.equals(ali.get(i))) {
out.println("用户名[" + userName + "]已经存在,请使用别的用户名注册");
} else {
out.println("可以使用用户名[" + userName + "]注册");
}
}
} finally {
out.close();
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} // <editor-fold defaultstate="collapsed" desc="HttpServlet">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /**
* Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}// </editor-fold>}
比较的时候,应该怎么比较,谢谢了
我想用list来做的,但是list获取不到里面的值package net.itcast;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;public class UserDao {
public List get() throws ClassNotFoundException, SQLException{
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/srplatform";
Connection connection=DriverManager.getConnection(url,"root","123");
List aList=new ArrayList();
Statement statement= connection.createStatement();
String sql ="select e.ename from exercise e";
ResultSet rs=statement.executeQuery(sql);
while(rs.next()){
UserVO userVO = new UserVO();
userVO.setEname(rs.getString("ename"));
aList.add(userVO);
}
return aList;
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package net.itcast;import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/**
*
* @author xingxing
*/
public class UserVerify extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
UserService userService =new UserService();
try {
List ali=userService.get();
for(int i=0;i<ali.size();i++){
PrintWriter out = response.getWriter();
try {
String param = request.getParameter("userName");
if (param == null || param.length() == 0) {
out.println("用户名不能为空");
} else {
String userName = URLDecoder.decode(param, "UTF-8");
if (userName.equals(ali.get(i))) {
out.println("用户名[" + userName + "]已经存在,请使用别的用户名注册");
} else {
out.println("可以使用用户名[" + userName + "]注册");
}
}
} finally {
out.close();
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} // <editor-fold defaultstate="collapsed" desc="HttpServlet">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} /**
* Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}// </editor-fold>}
比较的时候,应该怎么比较,谢谢了
解决方案 »
- 数据连接池错误?
- commons-fileupload的关于路径的问题
- 初学者问struts的一个问题。
- 求大神指导 notepad++ 用法
- 工具Middlegen中能不能对数据库中的表进行过滤?
- tomcat+mysql连接问题,在线等
- 用Eclipse启动Tomcat5.0后动行JSP时出现java.lang.NoClassDefFoundError: org/apache/commons/el/ExpressionEvaluatorImpl错误,如何解决?
- 用Domino(Servlet容器)与JBoss通讯(EJB容器)????如此异常!请指教!
- struts中的一点困惑,希望有高人可以指点一二!谢谢
- 关于hibernate的小问题
- EL表达式${}嵌套
- 寻找javaEE项目打包工具
ResultSet rs=statement.executeQuery(sql);都设置断点,看看
返回的rs有没有数据...
那就,复写 equals方法吧。
如果没有的话,我建议你用个循环去判断:具体代码如下:try {
List ali=userService.get();
String param = request.getParameter("userName");
if (param == null || param.length() == 0) {
out.println("用户名不能为空");
} else {
String userName = URLDecoder.decode(param, "UTF-8");
for(String st:aList){
if(st.equals(userName)){
//操作
out.println("用户名[" + userName + "]已经存在,请使用别的用户名注册");
return ;
}
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List list=new ArrayList();
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/srplatform";
Connection connection=DriverManager.getConnection(url,"root","123");
Statement statement= connection.createStatement();
String sql ="select e.ename from exercise e where e.ename='"+username+"'";
ResultSet rs=statement.executeQuery(sql);
while(rs.next()){
UserVO userVO = new UserVO();
userVO.setEname(rs.getString("ename"));
list.add(userVO);
}
if(list.isEmpty()){
return false;
}else{
return true;
}
} protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
UserService userService =new UserService();
PrintWriter out = response.getWriter();
try {
String param = request.getParameter("userName");
if (param == null || param.length() == 0) {
out.println("用户名不能为空");
} else {
String userName = URLDecoder.decode(param, "UTF-8");
try {
boolean userflag=userService.get(userName);
if (userflag==true) {
out.println("用户名[" + userName + "]已经存在,请使用别的用户名注册");
} else {
out.println("可以使用用户名[" + userName + "]注册");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} finally{
out.close();
}
}
//注意这里。。你的ali.get(i)获取的是一个ArrayList对象
//而userName是一个String类型的
//试问两个不同对象 如何用equals来比较值
if (userName.equals(ali.get(i))) {
out.println("用户名[" + userName + "]已经存在,请使用别的用户名注册");
}
//所以吧 userName.equals(ali.get(i))改成
//userName.equals(ali.get(i).getEname())方可