学生管理系统
index.jsp
<%--
Created by IntelliJ IDEA.
User: 12270
Date: 2021/3/18
Time: 21:39
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
学生管理系统首页
<%--
获取会话域中的数据
如果获取到了则显示添加和查看功能的超链接
如果没获取到则显示登录功能额超链接
--%>
<%Object username = session.getAttribute("username");
if (username==null){
%>
请登录
<%}else{%>
添加学生
查看学生
<%}%>
login.jsp
<%--
Created by IntelliJ IDEA.
User: 12270
Date: 2021/3/18
Time: 21:46
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
学生登陆
LoginStudentServlet
package com.itheima.servlet;
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("/loginStudentServlet")
public class LoginStudentServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取到用户名和密码
String username = req.getParameter("username");
String password = req.getParameter("password");
//2.判断用户名
if (username == null||"".equals(username)) {
//2.1用户名为空,重定向到登陆页面
resp.sendRedirect("/stu/login.jsp");
return;
}
//2.2用户名不为空,将用户名存入到会话域对象中
req.getSession().setAttribute("username",username);
//3.重定向到首页
resp.sendRedirect("/stu/index.jsp");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
Student
package com.itheima.bean;
public class Student {
private String username;
private int age;
private int score;
public Student() {
}
public Student(String username, int age, int score) {
this.username = username;
this.age = age;
this.score = score;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"username='" + username + '\'' +
", age=" + age +
", score=" + score +
'}';
}
}
案例实现-添加功能
1.在web目录下创建一个addStudent.jsp,实现添加学生的表单项
2.创建AddStudentServlet,获取学生信息并保存到文件中
3.通过定时刷新功能2s后跳转到首页
addStudent.jsp
<%--
Created by IntelliJ IDEA.
User: 12270
Date: 2021/3/18
Time: 22:03
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
添加学生
addStudentServlet
package com.itheima.servlet;
import com.itheima.bean.Student;
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.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/*
*
*实现添加功能
* */
@WebServlet("/addStudentServlet")
public class AddStudentServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
//1.获取表单中的数据
String username=req.getParameter("username");
String age=req.getParameter("age");
String score = req.getParameter("score");
//2.创建学生对象并赋值
Student stu=new Student();
stu.setUsername(username);
stu.setAge(Integer.parseInt(age));
stu.setScore(Integer.parseInt(score));
//3.将学生对象的数据保存到d:\\stu.txt中
BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\stu.txt",true));
bw.write(stu.getUsername()+","+stu.getAge()+","+stu.getScore());
bw.newLine();
bw.close();
//通过定时刷新功能相应给浏览器
resp.getWriter().write("添加成功。2秒后自动跳转到首页");
resp.setHeader("Refresh","2;URL=/stu/index.jsp");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
案例实现-查看功能
1.创建ListStudentServlet,读取文件中的学生信息到集合中
2.将集合重定向到会话域中
3.重定向到listStudent.jsp页面上
4.在web目录下创建一个listStudent,jsp
5.定义表格标签,在表格中获取会话域的集合数据,将数据显示在页面上
LoginStudentServlet
package com.itheima.servlet;
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("/loginStudentServlet")
public class LoginStudentServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取到用户名和密码
String username = req.getParameter("username");
String password = req.getParameter("password");
//2.判断用户名
if (username == null||"".equals(username)) {
//2.1用户名为空,重定向到登陆页面
resp.sendRedirect("/stu/login.jsp");
return;
}
//2.2用户名不为空,将用户名存入到会话域对象中
req.getSession().setAttribute("username",username);
//3.重定向到首页
resp.sendRedirect("/stu/index.jsp");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
listStudent.jsp
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.itheima.bean.Student" %><%--
Created by IntelliJ IDEA.
User: 12270
Date: 2021/3/18
Time: 22:27
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
查看学生
| 姓名 | 年龄 | 成绩 |
|---|---|---|
| <%=stu.getUsername()%> | <%=stu.getAge()%> | <%=stu.getScore()%> |