添加学生信息
<tr> 学生id:<input type="text" id="u_id" >
<span id="span01" style="color: red"></span> <br><br></tr>
<tr> 姓名:<input type="text" id="u_name" ><br><br></tr>
<tr> 密码:<input type="password" id="u_pwd"><br><br></tr>
<tr> 电话号码:<input type="text" id="u_phone"><br><br></tr>
提交
修改学生信息change.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%
String path = request.getContextPath();
String basepath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<html>
<head>
<base href="<%=basepath %>"/>
<meta charset="utf-8"/>
<title>修改界面</title>
</head>
<style>
#div1{
width: 400px;
height: 300px;
margin-left: 600px;
margin-top: 200px;
background-color:deepskyblue;
/*边框黑色 实线 2像素*/
border: black solid 2px;
}
</style>
<body>
<h2 align="center" >修改学生信息</h2><br><br>
<div id="div1" >
修改的学生id:<input type="text" id="u_id" >
<span id="span01" style="color: red"></span> <br><br>
姓名:<input type="text" id="u_name" ><br><br>
密码:<input type="password" id="u_pwd"><br><br>
电话号码:<input type="text" id="u_phone"><br><br>
<button id="btn3">提交</button>
<script>
//获取填写数据
document.getElementById("btn3").onclick=function(){
let u_id=document.getElementById("u_id").value;
let u_name=document.getElementById("u_name").value;
let u_pwd=document.getElementById("u_pwd").value;
let u_phone=document.getElementById("u_phone").value;
//判断非空
if(u_id==null||u_id==""||u_name==null||u_name==""){
document.getElementById("span01").innerText="id或名字为为空"
}else{
//不为空就转发到后端
window.location.href="changeUser?u_id="+u_id+"&u_pwd="+u_pwd+"&u_name="+u_name+"&u_phone="+u_phone+"&id=${user.getU_name()}";
}
}
//再次点击清除错误信息提示
document.getElementById("u_id").onfocus=function () {
document.getElementById("span01").innerText=""
}
</script>
</div>
</body>
</html>
Servlet下
登录LoginServlet
package com.StudentTest.Servlet;
import com.StudentTest.pojo.User;
import com.StudentTest.service.FileService;
import com.StudentTest.service.FileServiceImpl;
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.util.ArrayList;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String u_id=null,u_pwd=null;
User u = new User();
try{//非数字异常判断
u_id = req.getParameter("u_id");
u_pwd = req.getParameter("u_pwd");
u.setU_id(Integer.valueOf(u_id));
u.setU_pwd(u_pwd);
}catch (Exception e){
req.setAttribute("error", "你输入的不是数字");
//错误就回到主界面
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
//实现登录服务层的业务逻辑层,从服务层service到持久层dao
FileService fs=new FileServiceImpl();
//返回user这样可以看到登录的用户是谁
/**
* 如果user为空说明账号密码不一致,跳转到登录界面
* 不为空说明账号密码一致,跳转到主界面
*/
User user = null;
try {
user = fs.loginService(u);
} catch (Exception e) {
e.printStackTrace();
}
if (user != null) {
fs=new FileServiceImpl();
//查看所有数据
ArrayList<User> arrUser=fs.getAllStudent();
//将这些数据转发到前端
req.setAttribute("arr",arrUser);
req.setAttribute("user", user);
//跳转到主界面
req.getRequestDispatcher("mainPage.jsp").forward(req, resp);
} else {
req.setAttribute("error", "密码不匹配");
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
}
}
查找SearchServlet
package com.StudentTest.Servlet;
import com.StudentTest.pojo.User;
import com.StudentTest.service.FileService;
import com.StudentTest.service.FileServiceImpl;
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.util.ArrayList;
@WebServlet("/searchServlet")
public class SearchServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置字符集为
req.setCharacterEncoding("UTF-8");
String v=req.getParameter("v");
//访问service层,在由service访问dao层
FileService fs=new FileServiceImpl();
//创建service方法到dao层中去访问
User u=fs.searchIdName(v);
//创建集合用来接受dao层访问后的数据
ArrayList<User> arr=new ArrayList<>();
//将数据添加到集合中去
arr.add(u);
//获取登录人员的信息
String id=req.getParameter("id");
//创建service服务层,通过service访问doa层
FileService fs2=new FileServiceImpl();
//通过一连串的访问,最终去访问
User admine=fs2.getAdmint(id);
//将登录的信息发送到前端
req.setAttribute("user", admine);
//如果访问的信息不为空
if(u!=null){
//管理员信息
req.setAttribute("arr",arr);
//跳转到主界面
req.getRequestDispatcher("mainPage.jsp").forward(req, resp);
}else{
FileService f=new FileServiceImpl();
ArrayList<User> arr2=f.getAllStudent();
req.setAttribute("arr", arr2);
req.getRequestDispatcher("mainPage.jsp").forward(req, resp);
}
}
}
删除DeleteServlet
package com.StudentTest.Servlet;
import com.StudentTest.pojo.User;
import com.StudentTest.service.FileService;
import com.StudentTest.service.FileServiceImpl;
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.util.ArrayList;
@WebServlet("/deleteServlet")
public class DeleteServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String del=req.getParameter("v");
//获取登录人信息
String adm=req.getParameter("id");
//访问service层,在service层创建对应的方法
FileService fs=new FileServiceImpl();
ArrayList<User> list=fs.getAllStudent();
//获取登录人员信息
User u = fs.getAdmint(adm);
//service层调用方法,转到dao层执行sql语句
boolean user=fs.delUser(del);
String tip="";
if(user){
tip="删除成功";
}else {
tip="删除失败";
}
//发送到前端
req.setAttribute("user", u);
req.setAttribute("arr", list);
req.setAttribute("tip", tip);
req.getRequestDispatcher("mainPage.jsp").forward(req, resp);
}
}
修改ChangeServlet
package com.StudentTest.Servlet;
import com.StudentTest.pojo.User;
import com.StudentTest.service.FileService;
import com.StudentTest.service.FileServiceImpl;
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.util.ArrayList;
@WebServlet("/changeUser")
public class ChangeServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String id=req.getParameter("u_id");
String pwd=req.getParameter("u_pwd");
String phone=req.getParameter("u_phone");
String name=req.getParameter("u_name");
FileService fs=new FileServiceImpl();
User user=new User(name,Integer.valueOf(id),pwd,phone);
String adm=req.getParameter("id");
//获取登录人员信息
User u = fs.getAdmint(adm);
System.out.println(u);
boolean flag=fs.changeUser( user);
ArrayList<User> list=fs.getAllStudent();
String tip="";
if (flag){
tip="修改成功";
}else{
tip="修改失败";
}
//发送到前端
req.setAttribute("tip",tip);
req.setAttribute("user", u);
req.setAttribute("arr", list);
req.getRequestDispatcher("mainPage.jsp").forward(req, resp);
}
}
添加addServlet
package com.StudentTest.Servlet;
import com.StudentTest.pojo.User;
import com.StudentTest.service.FileService;
import com.StudentTest.service.FileServiceImpl;
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.util.ArrayList;
@WebServlet("/addUser")
public class AddServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String id=req.getParameter("u_id");
String pwd=req.getParameter("u_pwd");
String phone=req.getParameter("u_phone");
String name=req.getParameter("u_name");
FileService fs=new FileServiceImpl();
User user=new User(name,Integer.valueOf(id),pwd,phone);
String adm=req.getParameter("id");
//获取登录人员信息
User u = fs.getAdmint(adm);
System.out.println(u);
boolean flag=fs.addUser( user);
ArrayList<User> list=fs.getAllStudent();
String tip="";
if (flag){
tip="添加成功";
}else{
tip="添加失败";
}
//发送到前端
req.setAttribute("tip",tip);
req.setAttribute("user", u);
req.setAttribute("arr", list);
req.getRequestDispatcher("mainPage.jsp").forward(req, resp);
}
}
Service下
FileServic接口下
package com.StudentTest.service;
import com.StudentTest.pojo.User;
import java.util.ArrayList;
public interface FileService {
ArrayList<User> getAllStudent();
User searchIdName(String v);
User getAdmint(String id);
boolean delUser(String del);
boolean addUser(User user);
boolean changeUser(User user);
User loginService(User u) throws Exception;
}
FileServiceImpl实现类下
package com.StudentTest.service;
import com.StudentTest.Dao.FileDao;
import com.StudentTest.Dao.FileDaoImpl;
import com.StudentTest.pojo.User;
import java.util.ArrayList;
public class FileServiceImpl implements FileService {
FileDao fd= new FileDaoImpl();
@Override
public ArrayList<User> getAllStudent() {
/**
* 访问持久层
*/
return fd.getAllStudent();
}
@Override
public User searchIdName(String v) {
return fd.searchIdName( v);
}
@Override
public User getAdmint(String id) {
return fd.getAdmint(id);
}
@Override
public boolean delUser(String del) {
return fd.delUser(del );
}
@Override
public boolean addUser(User user) {
return fd.addUser(user);
}
@Override
public boolean changeUser(User user) {
return fd.changeUser(user);
}
@Override
public User loginService(User u) throws Exception {
return fd.loginDao( u);
}
}
pojo下
User学生类
package com.StudentTest.pojo;
public class User {
private String u_name;
private int u_id;
private String u_pwd;
private String u_phone;
private int u_role;
private int u_isdelete;
public User() {
}
public User(String u_name, int u_id, String u_pwd, String u_phone) {
this.u_name = u_name;
this.u_id = u_id;
this.u_pwd = u_pwd;
this.u_phone = u_phone;
}
public User(String u_name, int u_id, String u_pwd, String u_phone, int u_role, int u_isdelete) {
this.u_name = u_name;
this.u_id = u_id;
this.u_pwd = u_pwd;
this.u_phone = u_phone;
this.u_role = u_role;
this.u_isdelete = u_isdelete;
}
public String getU_name() {
return u_name;
}
public void setU_name(String u_name) {
this.u_name = u_name;
}
public int getU_id() {
return u_id;
}
public void setU_id(int u_id) {
this.u_id = u_id;
}
public String getU_pwd() {
return u_pwd;
}
public void setU_pwd(String u_pwd) {
this.u_pwd = u_pwd;
}
public String getU_phone() {
return u_phone;
}
public void setU_phone(String u_phone) {
this.u_phone = u_phone;
}
public int getU_role() {
return u_role;
}
public void setU_role(int u_role) {
this.u_role = u_role;
}
public int getU_isdelete() {
return u_isdelete;
}
public void setU_isdelete(int u_isdelete) {
this.u_isdelete = u_isdelete;
}
@Override
public String toString() {
return "User{" +
"u_name='" + u_name + '\'' +
", u_id=" + u_id +
", u_pwd='" + u_pwd + '\'' +
", u_phone='" + u_phone + '\'' +
", u_role=" + u_role +
", u_isdelete=" + u_isdelete +
'}';
}
}
Dao下
FileDao接口下
package com.StudentTest.Dao;
import com.StudentTest.pojo.User;
import java.util.ArrayList;
public interface FileDao {
ArrayList<User> getAllStudent();
User searchIdName(String v);
User getAdmint(String id);
boolean delUser(String del);
boolean addUser(User user);
boolean changeUser(User user);
User loginDao(User u) throws Exception;
}
FileDaoImpl实现类下
package com.StudentTest.Dao;
import com.StudentTest.pojo.User;
import com.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class FileDaoImpl implements FileDao {
@Override
public User loginDao(User u) throws SQLException, ClassNotFoundException {
/**在这写数据库的内容
* 获取链接对象,获取sql语句
*/
int id=u.getU_id();
String pwd=u.getU_pwd();
// //访问数据库
// User user=new User("慧宝",1001,"520","1314",1,0);
Connection connection= JDBCUtils.getConnection();
PreparedStatement pre =null;
ResultSet res =null;
String sql="select *from user where u_id="+id+" and u_pwd='"+pwd+"'";
try{
pre= connection.prepareStatement(sql);
res=pre.executeQuery();
User user=new User();
while(res.next()){
user.setU_id(res.getInt("u_id"));
user.setU_name(res.getString("u_name"));
user.setU_pwd(res.getString("u_pwd"));
user.setU_phone(res.getString("u_phone"));
user.setU_role(res.getInt("u_role"));
user.setU_isdelete(res.getInt("u_isdelete"));
return user;
}
} catch (SQLException s){
s.printStackTrace();
}
return null;
}
//获取所有学生信息
@Override
public ArrayList<User> getAllStudent() {
ArrayList<User> arr=new ArrayList<>();
Connection connection= null;
try {
connection = JDBCUtils.getConnection();
} catch (Exception e) {
}
PreparedStatement pre =null;
ResultSet res =null;
//u_role为1表示普通用户,为0为管理员,u_isdelete为0表示还在,为1表示已删除
String sql="select *from user where u_role=1 and u_isdelete=0 ";
try{
pre= connection.prepareStatement(sql);
res=pre.executeQuery();
while(res.next()){
User user=new User();
user.setU_id(res.getInt("u_id"));
user.setU_name(res.getString("u_name"));
user.setU_pwd(res.getString("u_pwd"));
user.setU_phone(res.getString("u_phone"));
user.setU_role(res.getInt("u_role"));
user.setU_isdelete(res.getInt("u_isdelete"));
arr.add(user);
}
return arr;
} catch (SQLException s){
s.printStackTrace();
}
return null;
}
//找指定学生
@Override
public User searchIdName(String v) {
/**
* sql
*/
Connection connection= null;
try {
connection = JDBCUtils.getConnection();
} catch (Exception e) {
}
PreparedStatement pre =null;
ResultSet res =null;
//u_role为1表示普通用户,为0为管理员,u_isdelete为0表示还在,为1表示已删除
String sql="select *from user where u_id ='"+v+"'or+ u_name ='"+v+"' ";
try{
pre= connection.prepareStatement(sql);
res=pre.executeQuery();
while(res.next()){
User user=new User();
user.setU_id(res.getInt("u_id"));
user.setU_name(res.getString("u_name"));
user.setU_pwd(res.getString("u_pwd"));
user.setU_phone(res.getString("u_phone"));
user.setU_role(res.getInt("u_role"));
user.setU_isdelete(res.getInt("u_isdelete"));
return user;
}
} catch (SQLException s){
s.printStackTrace();
}
return null;
}
//获取登录人员信息
@Override
public User getAdmint(String id) {
Connection connection= null;
try {
connection = JDBCUtils.getConnection();
} catch (Exception e) {
}
PreparedStatement pre =null;
ResultSet res =null;
String sql="select *from user where u_id ='"+id+"'or+ u_name ='"+id+"' ";
try{
pre= connection.prepareStatement(sql);
res=pre.executeQuery();
while(res.next()){
User user=new User();
user.setU_id(res.getInt("u_id"));
user.setU_name(res.getString("u_name"));
return user;
}
} catch (SQLException s){
s.printStackTrace();
}
return null;
}
//删除信息
@Override
public boolean delUser(String del) {
Connection connection= null;
try {
connection = JDBCUtils.getConnection();
} catch (Exception e) {
}
PreparedStatement pre =null;
ResultSet ress=null;
int res=0;
String sql="delete from user where u_name ='"+del+"'or + u_id ='"+del+"' ";
try{
pre= connection.prepareStatement(sql);
res=pre.executeUpdate();
if(res>0)return true;
} catch (SQLException s){
s.printStackTrace();
}
return false;
}
### 最后
**面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典**
* Java核心知识整理

Java核心知识
* Spring全家桶(实战系列)

* 其他电子书资料

**Step3:刷题**
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
**以下是我私藏的面试题库:**

l;
ResultSet ress=null;
int res=0;
String sql="delete from user where u_name ='"+del+"'or + u_id ='"+del+"' ";
try{
pre= connection.prepareStatement(sql);
res=pre.executeUpdate();
if(res>0)return true;
} catch (SQLException s){
s.printStackTrace();
}
return false;
}
### 最后
**面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典**
* Java核心知识整理
[外链图片转存中...(img-MJXHrTqE-1720010093003)]
Java核心知识
* Spring全家桶(实战系列)
[外链图片转存中...(img-aHIAO7yC-1720010093004)]
* 其他电子书资料
[外链图片转存中...(img-NpXb9fPk-1720010093005)]
**Step3:刷题**
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
**以下是我私藏的面试题库:**
[外链图片转存中...(img-zb0bcNmt-1720010093005)]