案例二 : 实现统计登录成功的人数
ServletConfig了解
怎么得到
ServletConfing
对象?
方式一 : 发现
Servlet
接口里就有
getServletConfig
方法
方式二 :
servlet
的
init
方法参数就有该对象
功能
1:
获取
servlet
配置信息
web.xml
里的配置
2:
获取
ServletContext
对象
实现:
login.html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/homework_day03/myServletLogin" method="post">
用户名<input type="text" name="username"><br>
密码<input type="password" name="psd"><br>
<input type="submit" value="登录">
<a href="zhuce.html">注册</a>
</form>
</body>
</html>
zhuce.html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form action="/homework_day03/myServletZhuCe" method="post">
用户名<input type="text" name="username"><br>
密码<input type="password" name="psd"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
MyServletLogin.java
package com.day03.homework.controller; /**
* @Author: 小麦穗呀
* @Date: 2023-5-12 17:42
* @Version: 1.0
*/
import com.day03.homework.service.UserService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
@WebServlet("/myServletLogin")
public class MyServletLogin extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
response.setContentType("text/html;charset=utf-8");
System.out.println("doPost------");
PrintWriter writer = response.getWriter();
// 1.接收前端数据
String username = request.getParameter("username");
String psd = request.getParameter("psd");
// 2.调用业务逻辑层登陆的方法
UserService us = new UserService();
boolean flag = us.login(username,psd);
if (flag){
System.out.println("登陆成功");
// 3.相应页面 servlet自己给页面响应
writer.write("登录成功!");
}else {
System.out.println("登陆失败");
writer.write("登录失败!");
}} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet------");
doPost(request,response);
}
}
MyServletZhuCe.java
package com.day03.homework.controller; /**
* @Author: 小麦穗呀
* @Date: 2023-5-12 17:42
* @Version: 1.0
*/
import com.day03.homework.service.UserService;
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;
import java.io.PrintWriter;
@WebServlet("/myServletZhuCe")
public class MyServletZhuCe extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
response.setContentType("text/html;charset=utf-8");
System.out.println("doPost------");
PrintWriter writer = response.getWriter();
// 1.接收前端数据
String username = request.getParameter("username");
String psd = request.getParameter("psd");
// 2.调用业务逻辑层登陆的方法
UserService us = new UserService();
boolean flag = us.zhuce(username,psd);
if (flag){
System.out.println("注册成功");
// 3.相应页面 servlet自己给页面响应
response.sendRedirect("login.html");
}else {
System.out.println("注册失败");
// writer.write("登录失败!");
}} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet------");
doPost(request,response);
}
}
UserDao.java
package com.day03.homework.dao;
import com.day03.homework.util.JdbcUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @Author: 小麦穗呀
* @Date: 2023-5-12 18:24
* @Version: 1.0
*/
public class UserDao {
public boolean login(String username,String psd) throws SQLException, ClassNotFoundException {
System.out.println("UserDao");
//获取链接
Connection connection = JdbcUtil.getConnection();
PreparedStatement ps = connection.prepareStatement("select * from user where user_name = ? and password = ?");
//给问号赋值
ps.setString(1,username);
ps.setString(2,psd);
//执行sql语句
ResultSet resultSet = ps.executeQuery();
//判断结果集
if (resultSet.next()){
return true;
}
return false;
}
public boolean zhuce(String username,String psd) throws SQLException, ClassNotFoundException {
System.out.println("UserDao");
//获取链接
Connection connection = JdbcUtil.getConnection();
PreparedStatement ps = connection.prepareStatement("insert into user(user_name,password) values (?,?)");
//给问号赋值
ps.setString(1,username);
ps.setString(2,psd);
//执行sql语句
int resultSet = ps.executeUpdate();
//判断结果集
if (resultSet>0){
return true;
}
return false;
}
}
User.java
package com.day03.homework.pojo;
/**
* @Author: 小麦穗呀
* @Date: 2023-5-12 18:15
* @Version: 1.0
*/
public class User {
private int id;
private String user_name;
private String password;
public User() {
}
public User(int id, String user_name, String password) {
this.id = id;
this.user_name = user_name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", user_name='" + user_name + '\'' +
", password='" + password + '\'' +
'}';
}
}
UserService.java
package com.day03.homework.service;
import com.day03.homework.dao.UserDao;
import java.sql.SQLException;
/**
* @Author: 小麦穗呀
* @Date: 2023-5-12 18:03
* @Version: 1.0
*/
public class UserService {
//登录
public boolean login(String username,String psd) throws SQLException, ClassNotFoundException {
System.out.println("UserService");
UserDao ud = new UserDao();
boolean flag = ud.login(username, psd);
return flag;
}
//注册
public boolean zhuce(String username,String psd) throws SQLException, ClassNotFoundException {
UserDao ud = new UserDao();
boolean flag1 = ud.zhuce(username, psd);
return flag1;
}
}