案例介绍
用户需录入用户名与密码,在数据库查询,若没有,告知用户登陆失败;若有,告知用户登陆成功
1.创建一个tomcat项目
2.将所需的jar包(c3p0,connection-dbutils,mysql-connector)放在WEB-INF的lib文件夹下
3.在src目录下创建dao,service,servlet文件夹
4.将C3P0的数据库配置文件放在src目录下,将DataSource文件放在src的utils文件夹下。
DataSource文件内容:
5.将静态资源放在web文件夹下
6.在servlet创建LoginServlet文件
package com.login.servlet;
import com.login.service.LoginService;
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(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置响应头,防止乱码
response.setHeader("content-type", "text/html;charset=utf-8");
//对请求过来的数据防止乱码
request.setCharacterEncoding("UTF-8");
//1.获取用户请求的用户名与密码
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username + " " + password);
// 创建LoginService
LoginService loginService = new LoginService();
//调用service中的方法
int i = loginService.GetUser(username, password);
//根据返回的对象,判断提示的内容
if (i == 0) {
response.getWriter().println("error");
} else {
response.getWriter().println(username + ":come on");
}
}
}
7.设置web.xml文件
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.login.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<!--设置的请求路径 -->
<url-pattern>/login</url-pattern>
</servlet-mapping>
8.在service文件夹创建LoginService 文件
package com.login.service;
import com.login.dao.LoginDao;
public class LoginService {
public int GetUser(String username, String password) {
LoginDao loginDao = new LoginDao();
int i = loginDao.getUserSql(username, password);
return i;
}
}
9.在dao层创建LoginDao文件
public class LoginDao {
public int getUserSql(String username, String password) {
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
int j = 0;
try {
String sql = "select * from users where unam=? and upass=?";
Object[] obj = qr.query(sql, new ArrayHandler(), username, password);
if (obj != null) {
j = 1;
} else {
j = 0;
}
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
}
10.静态资源的login.html
<form class="form-horizontal" action="/testJavaWeb_war_exploded/login" method="post">
<input type="text" class="form-control" name="username" id="username" placeholder="请输入用户名">
<input type="password" class="form-control" name="password" id="inputPassword3" placeholder="请输入密码">
<input type="submit" width="100" value="登录" name="submit">
</form>