基于javaweb+mysql的jsp+servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的JSP+Servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)
登录:
admin 123456
学生信息增删改查管理
@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
HttpSession session = req.getSession();
if (user.getUsername() == null){//若用户不存在
req.setAttribute("flag","null");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}else {
if ( password.equals(user.getPassword()) ){
//登陆成功
session.setAttribute("username",username);//将用户名用于session域进行权限检查
System.out.println("登陆成功!session:"+session.getAttribute("username"));
if (username!=null){
Cookie c = new Cookie("user",username);
c.setMaxAge(60);//有效时间60s
resp.addCookie(c);//将Cookie对象保存到客户端
}
resp.sendRedirect("/ListServlet");
}else {
req.setAttribute("flag","false");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}
}
}
}
@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
HttpSession session = req.getSession();
if (user.getUsername() == null){//若用户不存在
req.setAttribute("flag","null");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}else {
if ( password.equals(user.getPassword()) ){
//登陆成功
session.setAttribute("username",username);//将用户名用于session域进行权限检查
System.out.println("登陆成功!session:"+session.getAttribute("username"));
if (username!=null){
Cookie c = new Cookie("user",username);
c.setMaxAge(60);//有效时间60s
resp.addCookie(c);//将Cookie对象保存到客户端
}
resp.sendRedirect("/ListServlet");
}else {
req.setAttribute("flag","false");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}
}
}
}
@WebServlet(name = "AddServlet")
public class AddServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Student student = new Student();
// 直接从表单中获取数据
int studentID = Integer.parseInt(req.getParameter("studentID"));
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String sex = req.getParameter("radio");
student.setStudentID(studentID);
student.setName(name);
student.setAge(age);
student.setSex(sex);
new StudentDAO().add(student);
resp.sendRedirect("ListServlet"); // 这里可以理解为刷新,重新请求
}
}
@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
HttpSession session = req.getSession();
System.out.println("已登录用户为:"+session.getAttribute("username"));
session.removeAttribute("username");
System.out.println("已退出登录");
resp.sendRedirect("/login.jsp");
}
}
@WebFilter(filterName = "LoginFilter")
public class LoginFilter implements Filter {
//静态代码块中向集合中存放所有可以放行的请求或网页地址(不用账号密码即可访问)
public static ArrayList<String> urls = new ArrayList<>();
static {
urls.add("/login.jsp");
urls.add("/register.jsp");
urls.add("/LoginServlet");
urls.add("/RegisterServlet");
urls.add("/index.jsp");
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) req;
HttpServletResponse servletResponse = (HttpServletResponse) resp;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
System.out.println("已进入登陆过滤器,请求地址:"+path);
// 从session里取员工工号信息
String username = (String) session.getAttribute("username");
System.out.println("当前Sessiond对象:"+username);
// 登陆页面无需过滤
for (String url : urls ) {
if(url.equals(path) || path.contains(url)) {
//System.out.println("resource do chain...");
System.out.println("放行!");
chain.doFilter(req, resp);
//防止重复响应
return;
}
}
// 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
if (username == null || "".equals(username)) {
System.out.println("没有员工信息,开始读取Cookie");
Cookie[] cookies = servletRequest.getCookies();
String value = null;//Cookie的值
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
if (cookies[i].getName().equals("user")){
value = cookies[i].getValue();
}
System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
}
}
if (value != null){//Cookie值不为空,自动登陆成功
session.setAttribute("username",value);
student.setAge(age);
student.setSex(sex);
new StudentDAO().update(student);
System.out.println("UpdateServlet!!");
resp.sendRedirect("ListServlet");
}
}
@WebServlet(name = "AddServlet")
public class AddServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Student student = new Student();
// 直接从表单中获取数据
int studentID = Integer.parseInt(req.getParameter("studentID"));
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String sex = req.getParameter("radio");
student.setStudentID(studentID);
student.setName(name);
student.setAge(age);
student.setSex(sex);
new StudentDAO().add(student);
resp.sendRedirect("ListServlet"); // 这里可以理解为刷新,重新请求
}
}
//防止重复响应
return;
}
}
// 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
if (username == null || "".equals(username)) {
System.out.println("没有员工信息,开始读取Cookie");
Cookie[] cookies = servletRequest.getCookies();
String value = null;//Cookie的值
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
if (cookies[i].getName().equals("user")){
value = cookies[i].getValue();
}
System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
}
}
if (value != null){//Cookie值不为空,自动登陆成功
session.setAttribute("username",value);
System.out.println("Cookie自动登陆成功!");
chain.doFilter(req, resp);//放行
return;
}else{
// 跳转到登陆页面
System.out.println("拦截!");
servletResponse.sendRedirect("/login.jsp");
}
} else {
// 已经登陆,继续此次请求
chain.doFilter(req, resp);
}
}
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
}
start = Integer.parseInt(req.getParameter("page.start"));
count = Integer.parseInt(req.getParameter("page.count"));
} catch (Exception e) {
}
Page page = new Page(start, count);
List<Student> students = studentDAO.list(page.getStart(), page.getCount());
int total = studentDAO.getTotal();
page.setTotal(total);
//List<Student> students = studentDAO.list();
req.setAttribute("students", students);
req.setAttribute("page", page);
System.out.println("ListServlet!!");
req.getRequestDispatcher("/list.jsp").forward(req, resp);
}
}
@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
System.out.println(username+"+"+password);
System.out.println(user.getUsername()+"+"+user.getPassword());
if (user.getUsername() == null){
user.setUsername(username);
user.setPassword(password);
new UserDAO().addUser(user);
System.out.println("注册成功!");
resp.sendRedirect("login.jsp");
}else {
req.setAttribute("flag","false");//用户已存在
req.getRequestDispatcher("/register.jsp").forward(req,resp);
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Student student = new Student();
// 直接从表单中获取数据
int studentID = Integer.parseInt(req.getParameter("studentID"));
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String sex = req.getParameter("radio");
student.setStudentID(studentID);
student.setName(name);
student.setAge(age);
student.setSex(sex);
new StudentDAO().add(student);
resp.sendRedirect("ListServlet"); // 这里可以理解为刷新,重新请求
}
}
@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
HttpSession session = req.getSession();
System.out.println("已登录用户为:"+session.getAttribute("username"));
session.removeAttribute("username");
System.out.println("已退出登录");
resp.sendRedirect("/login.jsp");
}
}
@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
HttpSession session = req.getSession();
if (user.getUsername() == null){//若用户不存在
req.setAttribute("flag","null");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}else {
if ( password.equals(user.getPassword()) ){
//登陆成功
session.setAttribute("username",username);//将用户名用于session域进行权限检查
System.out.println("登陆成功!session:"+session.getAttribute("username"));
if (username!=null){
Cookie c = new Cookie("user",username);
c.setMaxAge(60);//有效时间60s
resp.addCookie(c);//将Cookie对象保存到客户端
}
resp.sendRedirect("/ListServlet");
}else {
req.setAttribute("flag","false");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}
}
}
}
@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
System.out.println(username+"+"+password);
System.out.println(user.getUsername()+"+"+user.getPassword());
if (user.getUsername() == null){
user.setUsername(username);
user.setPassword(password);
new UserDAO().addUser(user);
System.out.println("注册成功!");
resp.sendRedirect("login.jsp");
}else {
req.setAttribute("flag","false");//用户已存在
req.getRequestDispatcher("/register.jsp").forward(req,resp);
}
}
}
@WebServlet(name = "UpdateServlet")
public class UpdateServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Student student = new Student();
}else {
if ( password.equals(user.getPassword()) ){
//登陆成功
session.setAttribute("username",username);//将用户名用于session域进行权限检查
System.out.println("登陆成功!session:"+session.getAttribute("username"));
if (username!=null){
Cookie c = new Cookie("user",username);
c.setMaxAge(60);//有效时间60s
resp.addCookie(c);//将Cookie对象保存到客户端
}
resp.sendRedirect("/ListServlet");
}else {
req.setAttribute("flag","false");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}
}
}
}
@WebServlet(name = "SearchServlet")
public class SearchServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String content = request.getParameter("content");
String type = request.getParameter("type");
System.out.println("内容为:"+content+" 类型为:"+type);
ArrayList<Student> students = new StudentDAO().getStudent(type,content);
Gson gson = new Gson();
String json = gson.toJson(students);//解析数据生成Json
for (Student s : students){
System.out.println("查询结果:"+s.getName()+s.getStudentID());
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) req;
HttpServletResponse servletResponse = (HttpServletResponse) resp;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
System.out.println("已进入登陆过滤器,请求地址:"+path);
// 从session里取员工工号信息
String username = (String) session.getAttribute("username");
System.out.println("当前Sessiond对象:"+username);
// 登陆页面无需过滤
for (String url : urls ) {
if(url.equals(path) || path.contains(url)) {
//System.out.println("resource do chain...");
System.out.println("放行!");
chain.doFilter(req, resp);
//防止重复响应
return;
}
}
// 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
if (username == null || "".equals(username)) {
System.out.println("没有员工信息,开始读取Cookie");
Cookie[] cookies = servletRequest.getCookies();
String value = null;//Cookie的值
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
if (cookies[i].getName().equals("user")){
value = cookies[i].getValue();
}
System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
}
}
if (value != null){//Cookie值不为空,自动登陆成功
session.setAttribute("username",value);
System.out.println("Cookie自动登陆成功!");
chain.doFilter(req, resp);//放行
return;
}else{
// 跳转到登陆页面
System.out.println("拦截!");
servletResponse.sendRedirect("/login.jsp");
}
} else {
// 已经登陆,继续此次请求
chain.doFilter(req, resp);
}
@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
HttpSession session = req.getSession();
if (user.getUsername() == null){//若用户不存在
req.setAttribute("flag","null");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}else {
if ( password.equals(user.getPassword()) ){
//登陆成功
session.setAttribute("username",username);//将用户名用于session域进行权限检查
System.out.println("登陆成功!session:"+session.getAttribute("username"));
if (username!=null){
Cookie c = new Cookie("user",username);
c.setMaxAge(60);//有效时间60s
resp.addCookie(c);//将Cookie对象保存到客户端
}
resp.sendRedirect("/ListServlet");
}else {
req.setAttribute("flag","false");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}
}
}
}
Student student = new Student();
// 直接从表单中获取数据
int studentID = Integer.parseInt(req.getParameter("studentID"));
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String sex = req.getParameter("radio");
student.setStudentID(studentID);
student.setName(name);
student.setAge(age);
student.setSex(sex);
new StudentDAO().add(student);
resp.sendRedirect("ListServlet"); // 这里可以理解为刷新,重新请求
}
}
@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
HttpSession session = req.getSession();
System.out.println("已登录用户为:"+session.getAttribute("username"));
session.removeAttribute("username");
System.out.println("已退出登录");
resp.sendRedirect("/login.jsp");
}
}
@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
HttpSession session = req.getSession();
System.out.println("已登录用户为:"+session.getAttribute("username"));
session.removeAttribute("username");
System.out.println("已退出登录");
resp.sendRedirect("/login.jsp");
}
}
@WebServlet(name = "EditStudent")
public class EditServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id = Integer.parseInt(req.getParameter("id"));
Student student = new StudentDAO().get(id);
req.setAttribute("student", student);
req.getRequestDispatcher("edit.jsp").forward(req, resp);
}
}
@WebServlet(name = "ListServlet")
public class ListServlet extends HttpServlet {
private StudentDAO studentDAO = new StudentDAO();
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取分页参数
int start = 0;
int count = 10;
try {
start = Integer.parseInt(req.getParameter("page.start"));
count = Integer.parseInt(req.getParameter("page.count"));
} catch (Exception e) {
}
Page page = new Page(start, count);
List<Student> students = studentDAO.list(page.getStart(), page.getCount());
int total = studentDAO.getTotal();
page.setTotal(total);
//List<Student> students = studentDAO.list();
req.setAttribute("students", students);
req.setAttribute("page", page);
System.out.println("ListServlet!!");
req.getRequestDispatcher("/list.jsp").forward(req, resp);
}
}
@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
if (cookies[i].getName().equals("user")){
value = cookies[i].getValue();
}
System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
}
}
if (value != null){//Cookie值不为空,自动登陆成功
session.setAttribute("username",value);
System.out.println("Cookie自动登陆成功!");
chain.doFilter(req, resp);//放行
return;
}else{
// 跳转到登陆页面
System.out.println("拦截!");
servletResponse.sendRedirect("/login.jsp");
}
} else {
// 已经登陆,继续此次请求
chain.doFilter(req, resp);
}
}
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
}
@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}else {
if ( password.equals(user.getPassword()) ){
//登陆成功
session.setAttribute("username",username);//将用户名用于session域进行权限检查
System.out.println("登陆成功!session:"+session.getAttribute("username"));
if (username!=null){
Cookie c = new Cookie("user",username);
c.setMaxAge(60);//有效时间60s
resp.addCookie(c);//将Cookie对象保存到客户端
}
resp.sendRedirect("/ListServlet");
}else {
req.setAttribute("flag","false");
req.getRequestDispatcher("/login.jsp").forward(req,resp);
}
}
}
}
@WebServlet(name = "SearchServlet")
public class SearchServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String content = request.getParameter("content");
String type = request.getParameter("type");
System.out.println("内容为:"+content+" 类型为:"+type);
ArrayList<Student> students = new StudentDAO().getStudent(type,content);
Gson gson = new Gson();
String json = gson.toJson(students);//解析数据生成Json
for (Student s : students){