qq_35624982 2016-09-08 03:44 采纳率: 100%
浏览 2268
已采纳

求大神帮助解决小问题,一直无法调用到DAO层的login方法

package com.tnt.jsp;

import java.io.IOException;
import java.io.PrintWriter;

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

import com.fasterxml.jackson.databind.ObjectMapper;

import entity.Users;
import Dao.UserDao;

/**

  • Servlet implementation class LoginServlet
    */
    public class LoginJsonServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet() */ public LoginJsonServlet() { super(); // TODO Auto-generated constructor stub }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
    •  response)
      

      */
      protected void doGet(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
      request.setCharacterEncoding("UTF-8");
      // response.setContentType("Textcml;charset=UTF-8");
      String uname = request.getParameter("uname");
      String upass = request.getParameter("upass");
      // PrintWriter pw = response.getWriter();

      Users condition = new Users();
      condition.setUname(uname);
      condition.setUpass(upass);

      UserDao userDao = new UserDao();
      Users user = userDao.login(condition)就是这里一直无法调用????????

      PrintWriter out = response.getWriter();
      if (user != null) {//生成json字符串2
      ObjectMapper mapper = new ObjectMapper();
      String json = mapper.writeValueAsString(user);
      out.write(json);
      out.flush();
      out.close();
      }

      // 得到session对象
      // 如果传false,当前session对象就返回session对象,如果不存在就返回新创建的对象
      HttpSession session = request.getSession();

      if (user != null) {
      session.setAttribute("USER", user);
      request.setAttribute("USERNAME", uname);
      //请求转发
      request.getRequestDispatcher("/success.jsp ").forward(request,response);
      // 重定向
      response.sendRedirect("success.html");
      request.getRequestDispatcher("/BloggersSearvlet").forward(request,
      response);
      System.out.println("login");

       response.sendRedirect("BloggersSearvlet");
      

      // pw.println(uname + "登陆成功!");
      } else {
      // pw.println(uname + "登录失败");
      request.getRequestDispatcher("/fail.jsp").forward(request,response);
      request.getRequestDispatcher("/fail.jsp")
      .forward(request, response);
      }

    }

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
    • response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); doGet(request, response); }

}

DAO类
package Dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.locks.Condition;

import org.apache.tomcat.jni.User;

import entity.Users;

public class UserDao {
public Users login(User condition)

{
    Connection connection = ConnectionManager.getConnection();
    Statement stmt = null;
    Users user = null;
    String sql = "select  userid,username,password from tbl_user where username='"
            + user.getUname()
            + "' and password ='"
            + user.getUpass()
            + "'";

    ResultSet rs = null;
    try {
        stmt = connection.createStatement();
        rs = stmt.executeQuery(sql);
        while (rs.next()) {
            user = new Users();
            int userid = rs.getInt("USERID");
            String uname = rs.getString("UNAME");
            String upass = rs.getString("UPASS");
            int age = rs.getInt("AGE");
            user.setUserid(userid);
            user.setUname(uname);
            user.setUpass(upass);
            user.setAge(age);

        }
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        ConnectionManager.closeResultSet(rs);
        ConnectionManager.closeStatement(stmt);
        ConnectionManager.closeConnection(connection);
    }
    return user;

}

}

  • 写回答

4条回答 默认 最新

  • Veggiel 2016-09-08 05:38
    关注

    我看出来了:

     Users condition = new Users();
    condition.setUname(uname);
    condition.setUpass(upass);
    UserDao userDao = new UserDao();
    Users user = userDao.login(condition)就是这里一直无法调用????????
    

    这里的userDao.login(condition);你的condition类型时Users,而你的dao层里面login方法的参数:是import org.apache.tomcat.jni.User;

     import org.apache.tomcat.jni.User;
    import entity.Users;
    public class UserDao {
    public Users login(User condition)
    

    类型出错了,把你login方法里的User改成Users就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题