package com.dao.imp;
import com.dao.UserLoginDao;
import com.tool.myutil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserLoginDaoImp implements UserLoginDao {
Connection con = null;
PreparedStatement sta = null;
ResultSet ret = null;
//查询用户名密码是否存在与数据库中
@Override
public int login(String n, String p) {
String sql = "";
int n1 = 0;
try {
con = myutil.utilDbc();
sql = "select count(id) from t_user where username= ? and password = ?";
sta = con.prepareStatement(sql);
sta.setString(1,n);
sta.setString(2,p);
ret = sta.executeQuery();
while (ret.next()){
n1 = ret.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
myutil.myclose(con,sta,ret);
}
return n1;
}
}
package com.service.imp;
import com.dao.UserLoginDao;
import com.service.UserLoginService;
public class UserLoginSreviceImp implements UserLoginService {
private UserLoginDao userLoginDao;
public UserLoginSreviceImp(UserLoginDao userLoginDao) {
this.userLoginDao = userLoginDao;
}
//登录业务
@Override
public int loginService(String n,String p) {
return userLoginDao.login(n, p);
}
}
package com.sevlet;
import com.dao.imp.UserLoginDaoImp;
import com.service.UserLoginService;
import com.service.imp.UserLoginSreviceImp;
import javax.servlet.RequestDispatcher;
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;
@WebServlet("/login")
public class LoginSevlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
UserLoginService u = new UserLoginSreviceImp(new UserLoginDaoImp());
int i = u.loginService("zhangsan", "123");
System.out.println(i);
if(i == 1){
//登录成功
request.setAttribute("msg","登录成功");
}else{
//登录失败
request.setAttribute("msg","登录失败");
}
//转发到show.js
//获取请求转发器对象
RequestDispatcher a = request.getRequestDispatcher("show.jsp");
//forward(方法)调用转发
a.forward(request,response);
}
}
i 值为0
import com.dao.imp.UserLoginDaoImp;
import com.service.UserLoginService;
import com.service.imp.UserLoginSreviceImp;
import org.junit.Test;
public class ServiceTest {
@Test
public void test01(){
UserLoginService u = new UserLoginSreviceImp(new UserLoginDaoImp());
int i= u.loginService("zhangsan", "123");
System.out.println(i);
}
}
i 值为 1
为啥测试类有结果,载servlet中没有结果?