//连接数据库
package com.dao;import java.sql.Connection;
import java.sql.DriverManager;public class DBConnection {
public static Connection getCon(){
Connection con=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databasename=user","sa","zhczqwhy");
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public void closeCon(Connection con){
if(con!=null)
try {
if(!con.isClosed())
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//方法
package com.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.entity.login;
public class logDao extends DBConnection {
public List findUser(String name,String pwd){
Connection con=getCon();
List list=new ArrayList();
login user=null;
String sql="select * from user_tbl where name=? and pwd=?";
try {
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, pwd);
ResultSet rs=ps.executeQuery();
while(rs.next()){
user=new login();
user.setName(rs.getString(1));
user.setPwd(rs.getString(2));
list.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
closeCon(con);
}
return list;
}
}
//实体类
package com.entity;public class login {
private String name;
private String pwd;

public login(){
super();
}
public login(String name,String pwd){
this.name=name;
this.pwd=pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
//servler
package com.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.dao.logDao;public class logServlet extends HttpServlet { /**
 * Constructor of the object.
 */
public logServlet() {
super();
} /**
 * Destruction of the servlet. <br>
 */
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();
this.doPost(request, response);

}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();

String uid=request.getParameter("txtuid");
String pwd=request.getParameter("txtpwd");
logDao dao=new logDao();
List list=dao.findUser(name,pwd);
if(uid.equals("txtuid")&&pwd.equals("txtpwd")){
request.getRequestDispatcher("cus.jsp").forward(request, response);
}
else
{
request.getRequestDispatcher("reg.jsp").forward(request, response);
}

}
public void init() throws ServletException {
// Put your code here
}}
//jsp 主页面
 <body>
    <form action="logServlet" method="post">
      <table align="center">
       用户名:<input name="txtuid" type="text"/><br/>
       密码:<input name="txtpwd" type="password"/><br/>
       <input type="submit" value="确定"/>
       <input type="reset" value="重置"/>
      </table>
    </form>
  </body>
//登录成功跳转 显示登录成功页面 失败显示 失败页面(都是一句话 成功或失败)

解决方案 »

  1.   

    错误是:
    2011-9-29 15:03:07 org.apache.catalina.core.ApplicationContext log
    信息: HTMLManager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
    2011-9-29 15:03:07 org.apache.catalina.core.ApplicationContext log
    信息: HTMLManager: init: Global resources are available
    2011-9-29 15:03:07 org.apache.catalina.core.ApplicationContext log
    信息: HTMLManager: list: Listing contexts for virtual host 'localhost'
    2011-9-29 15:03:14 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet logServlet threw exception
    java.lang.Error: Unresolved compilation problem: 
    无法解析 name at com.servlet.logServlet.doPost(logServlet.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
      

  2.   

    错误日志没贴全吧、
    at com.servlet.logServlet.doPost(logServlet.java:51)List list=dao.findUser(name,pwd);你这个name是哪来的?
      

  3.   

    public List findUser(String name,String pwd){
    findUser方法里面的参数啊 大哥们 看清楚了
      

  4.   

     String uid=request.getParameter("txtuid");
            String pwd=request.getParameter("txtpwd");
            logDao dao=new logDao();
            List list=dao.findUser(name,pwd);
    明明定义的但是UID你哪来的name。你细心点OK
      

  5.   

    那我把 String uid=request.getParameter("txtuid");
     改成 String name=request.getParameter("txtuid"); 
    没报错 但是运行 还是 只显示 失败页面 急啊!!!
      

  6.   

     String uid=request.getParameter("txtuid");
            String pwd=request.getParameter("txtpwd");
            logDao dao=new logDao();
            List list=dao.findUser(name,pwd);
    你name是findUse 方法里面传入的参数,但是你在doPost这个方法里面有定义了吗? doPost()方法里面的name你是从那里得来的?
      

  7.   

     List list=dao.findUser(name,pwd);
    ——>
     List list=dao.findUser(uid,pwd);
      

  8.   

    我把 String uid=request.getParameter("txtuid");
     里面的 uid 改查name了 可以运行了 系统没报错 但是 用户名和 密码输入正确的 结果显示的 是登陆 失败
      

  9.   

    你要对list的size进行判断,
    if(list.size()!=0){
    //Login success 
    }
      

  10.   

    user.setName(rs.getString(1));
    user.setPwd(rs.getString(2));
    改成
       user.setName(rs.getString("uid"));
      user.setPwd(rs.getString("pwd"));List list=dao.findUser(name,pwd);
    改成
    List list=dao.findUser(uid,pwd);试下写的时候最好对应着写
      

  11.   

    if(uid.equals("txtuid")&&pwd.equals("txtpwd"))
    这个地方错了
      

  12.   

     List list=dao.findUser(name,pwd);
    进行判断一下 
    if(list!=null && list.size>0){
     request.getRequestDispatcher("cus.jsp").forward(request, response);}else{
       request.getRequestDispatcher("reg.jsp").forward(request, response);}
      

  13.   

    我的数据库里面的 用户名和密码是 123  
    我输入的 就是123 但是报的错是
    com.microsoft.sqlserver.jdbc.SQLServerException: 列名 123 无效。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(Unknown Source)
    at com.dao.logDao.findUser(logDao.java:26)
    at com.servlet.logServlet.doPost(logServlet.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
    com.microsoft.sqlserver.jdbc.SQLServerException: 列名 123 无效。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(Unknown Source)
    at com.dao.logDao.findUser(logDao.java:26)
    at com.servlet.logServlet.doPost(logServlet.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
      

  14.   

    输入 txtuid  和 txtpwd 显示成功 没有到数据库 验证 应该 怎么验证
      

  15.   

    rs.getString("name");
    rs.getString("pwd");
      

  16.   

    user=new login();放在循环外面