JavaWeb开发-Servletday05-学生成绩管理系统-实现添加、删除、修改、查询功能
目录
①在stuDao.class中添加findByStuId函数
一、前端页面
1、对列表页面进行改进
stuList.jsp
-
<%@page import="sams.ck.entity.Student"%>
-
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.List,sams.ck.entity.*"
-
pageEncoding="utf-8"%>
-
-
<html>
-
<head>
-
<meta charset="utf-8">
-
<title>Student List</title>
-
</head>
-
<body>
-
<table width='500px' border='5px' >
-
-
<form action="stuList.do" method="post">
-
<input name="stuId" ><input type="submit" value="搜索">
-
</form>
-
 
-
<input type="button" class="button" value="添加" onclick="location='addStu.jsp'"/>
-
               
-
<input type="button" class="button" value="成绩查询" onclick="location='inquiryStu.jsp'"/>
-
-
<tr>
-
<td>学号</td>
-
<td>姓名</td>
-
<td>班级</td>
-
<td>语文</td>
-
<td>数学</td>
-
<td>英语</td>
-
<td>总分</td>
-
<td>操作</td>
-
</tr>
-
<%
-
//java代码
-
//到request中取出 绑定的数据
-
List<Student>stus=(List<Student>)request.getAttribute("stus");
-
//循环迭代 数据并显示
-
for(Student stu:stus){
-
%>
-
<tr>
-
<td>
-
<%=stu.getStuId() %>
-
</td>
-
<td>
-
<%=stu.getStuName() %>
-
</td>
-
<td>
-
<%=stu.getStuClass() %>
-
</td>
-
<td>
-
<%=stu.getChineseScore() %>
-
</td>
-
<td>
-
<%=stu.getMathScore() %>
-
</td>
-
<td>
-
<%=stu.getEnglisScore() %>
-
</td>
-
<td>
-
<%=stu.getEnglisScore() stu.getMathScore() stu.getChineseScore() %>
-
</td>
-
<td>
-
<input type="button" class="button" value="删除" onclick="location='delStu.do?stuId=<%=stu.getStuId() %>'"/>
-
<input type="button" class="button" value="修改" onclick="location='toUpdateStu.do?stuId=<%=stu.getStuId() %>'"/>
-
</td>
-
</tr>
-
<%} %>
-
</table>
-
</body>
-
</html>
启动服务查看页面效果:
二、项目开发
1、添加功能
①stuDao.class新建添加函数
-
//添加学生成绩信息
-
public void addStudent(Student stu) {
-
try {
-
//获取数据库连接
-
Connection conn = DBUtil.getConnection();
-
//定义SQL语句
-
String sql = "insert into students(number,name,class,chinese,math,english)values(?,?,?,?,?,?)";
-
//获取PreparedStatement对象
-
PreparedStatement prep = conn.prepareStatement(sql);
-
//添加占位符参数
-
prep.setString(1, stu.getStuId());
-
prep.setString(2, stu.getStuName());
-
prep.setString(3, stu.getStuClass());
-
prep.setDouble(4, stu.getChineseScore());
-
prep.setDouble(5, stu.getMathScore());
-
prep.setDouble(6, stu.getEnglisScore());
-
//执行SQL
-
prep.executeUpdate();
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
-
}
②在DaoTest.class中写个测试
-
package sams.ck.test;
-
-
import java.sql.SQLException;
-
import java.util.ArrayList;
-
import java.util.List;
-
-
import sams.ck.dao.stuDao;
-
import sams.ck.entity.Student;
-
import sams.ck.service.stuService;
-
import sams.ck.util.DBUtil;
-
-
public class DaoTest {
-
public static void main(String[] args) {
-
stuDao dao = new stuDao();
-
Student stu = new Student();
-
-
stu.setStuId("20222002");
-
stu.setStuClass("2");
-
stu.setStuName("小红");
-
stu.setChineseScore(100.0);
-
stu.setMathScore(100.0);
-
stu.setEnglisScore(99.0);
-
dao.addStudent(stu);
-
-
System.out.println("添加成功");
-
-
List<Student> stus= dao.findAllStudents();
-
-
for(Student s:stus){
-
System.out.println(s);
-
}
-
}
-
}
查看测试结果:
③在业务层stuService.class新建添加函数
-
//添加学生成绩信息
-
public void stuAdd(Student stu) {
-
dao.addStudent(stu);
-
}
④写一个前端添加页面
addStu.jsp
-
<%@page import="sams.ck.entity.Student"%>
-
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.List,sams.ck.entity.*"
-
pageEncoding="utf-8"%>
-
-
<html>
-
<head>
-
<meta charset="utf-8">
-
<title>Add Student</title>
-
</head>
-
<body>
-
<div>
-
<div>
-
<div>
-
<h1>
-
添加学生信息:
-
</h1>
-
<form action="addStu.do" method="post">
-
<table cellpadding="0" cellspacing="0" border="0"
-
class="form_table">
-
<tr>
-
<td valign="middle" align="right">
-
学号:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="stuId" />
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
姓名:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="stuName" />
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
班级:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="stuClass" />
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
语文:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="ChineseScore" />
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
数学:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="MathScore" />
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
英语:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="EnglishScore" />
-
</td>
-
</tr>
-
</table>
-
<p>
-
<input type="submit" class="button" value="确认" />
-
</p>
-
</form>
-
</div>
-
</div>
-
</div>
-
</body>
-
</html>
⑤编辑stuServlet.class
-
else if(path.equals("/addStu")) {
-
// 获取前端浏览器传递过来的员工信息
-
String stuId = request.getParameter("stuId");//学号
-
String stuName = request.getParameter("stuName");//姓名
-
String stuClass = request.getParameter("stuClass");//班级
-
double ChineseScore = Double.parseDouble(request.getParameter("ChineseScore"));//语文
-
double MathScore = Double.parseDouble(request.getParameter("MathScore"));//数学
-
double EnglishScore = Double.parseDouble(request.getParameter("EnglishScore"));//英语
-
// 将获取的前端传递的参数封装到Stu对象当中
-
Student Stu = new Student();
-
Stu.setStuId(stuId);
-
Stu.setStuName(stuName);
-
Stu.setStuClass(stuClass);
-
Stu.setChineseScore(ChineseScore);
-
Stu.setMathScore(MathScore);
-
Stu.setEnglisScore(EnglishScore);
-
//调用业务层代码提交给数据库
-
service.stuAdd(Stu);
-
// 添加成功后将页面重定向会 信息展示页
-
response.sendRedirect("stuList.do");
-
}
⑥测试
启动服务,搜索网址:http://127.0.0.1:8080/StudentAchievementManagementSystem/stuList.do
点击添加按钮到达addStu.jsp页面,添加学生信息:
点击确认按钮,将信息传递到addStu.do中,addStu.do会通过Servlet默认处理,处理完在返回给stuList.jsp显示在列表页面上:
**需要注意的是,开发过程中一定要理清逻辑。
在stuList.do页面,Servlet执行的功能是将数据库里的信息全部展示在当前页面。重点是前后端绑定同一个学生信息的数组。然后调用业务层代码取出数据库中的所有信息,通过实体类数组将学生成绩信息转发给前端页面。
前端stuList.jsp上的添加按钮跳转到的页面是addStu.jsp,其表单提交页面是addStu.do,也就是说在addStu.jsp写好学生信息后点击确认,表单会传递给addStu.do页面,此时addStu.do在Servlet层接收处理,通过实体类接收前端传递来的信息,在调用业务层方法将封装好的信息传递给dao层再存入数据库。此时再进行页面跳转,回到stuList.do页面,也就是从数据库中显示全部学生信息,若看到新添加的学生信息,添加成功。
2、删除功能
①新建DAO层删除方法
stuDao.class
-
//删除学生成绩信息
-
public void deleteStudent(String stuId) {
-
try {
-
//获取数据库连接
-
Connection conn = DBUtil.getConnection();
-
//定义SQL语句
-
String sql = "delete from students where number=?";
-
//获取PreparedStatement对象
-
PreparedStatement prep = conn.prepareStatement(sql);
-
//将传递的参数 注入到占位符中
-
prep.setString(1,stuId);
-
//执行SQL
-
prep.executeUpdate();
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
}
②在test层进行测试
daoTest.class
-
package sams.ck.test;
-
-
import java.sql.SQLException;
-
import java.util.ArrayList;
-
import java.util.List;
-
-
import sams.ck.dao.stuDao;
-
import sams.ck.entity.Student;
-
import sams.ck.service.stuService;
-
import sams.ck.util.DBUtil;
-
-
public class DaoTest {
-
public static void main(String[] args) {
-
stuDao dao = new stuDao();
-
-
String stuId = "20222003";
-
-
dao.deleteStudent(stuId);
-
-
System.out.println("删除成功");
-
-
List<Student> stus= dao.findAllStudents();
-
-
for(Student s:stus){
-
System.out.println(s);
-
}
-
}
-
}
输出显示, 学号为20222003的小明已经被删除了
③在service层写一个删除业务
-
//删除学生成绩信息
-
public void stuDel(String stuId) {
-
dao.deleteStudent(stuId);
-
}
④修改stuList.jsp删除按钮
-
<td>
-
<input type="button" class="button" value="删除" onclick="location='delStu.do?stuId=<%=stu.getStuId() %>'"/>
-
<input type="button" class="button" value="修改" onclick="location='toUpdateStu.do?stuId=<%=stu.getStuId() %>'"/>
-
</td>
⑤在Servlet层写delStu.do逻辑
-
else if(path.equals("/delStu")) {
-
// 服务端获取浏览器端传递的参数
-
String stuId = request.getParameter("stuId");
-
//调用业务层删除函数
-
service.stuDel(stuId);
-
// 使用重定向技术 完成页面的跳转
-
response.sendRedirect("stuList.do");
-
}
⑥测试与思路
测试:
启动服务访问页面:http://127.0.0.1:8080/StudentAchievementManagementSystem/stuList.do
点击删除小红:
删除后:
思路:
首先在dao层写一个操作数据库的删除逻辑,删除的条件是学生的学号,因为学号是唯一的,以此为条件,可以防止误删其他信息。
然后在业务层写一个删除函数,实际上就是调用dao层的功能,函数的参数依旧是学生学号。
接下来我们修改前端学生信息列表页面,将删除按钮绑定跳转页面和学生学号。这里默认的是使用get方法,也就是跳转的路径和stuId参数都会在url中显示,但是不用担心,我们在Servlet层处理delStu.do时使用重定向技术返回到了stuList.do页面,用户是无法看到delStu.do页面的,也更看不到url参数。当然也可以选用post的请求方式传递参数。
处理好前端后,我们来到Servlet层,当前端请求到delStu.do时,Servlet在此页面中实现了删除功能(调用业务层函数,学生学号参数通过request从前端获取),然后立刻重定向回到学生信息列表页面。
3、修改功能
(1)根据学生ID获取学生信息
①在stuDao.class中添加findByStuId函数
修改学生信息前提是通过要修改的学生学号获取学生信息
-
//修改学生信息前提是通过要修改的学生学号获取学生信息
-
public Student findByStuId(String stuId) {
-
Student stu = null;
-
try {
-
//获取数据库连接
-
Connection conn = DBUtil.getConnection();
-
//定义SQL语句
-
String sql = "select * from students where number=?";
-
//获取PreparedStatement对象
-
PreparedStatement prep = conn.prepareStatement(sql);
-
//将传递的参数 注入到占位符中
-
prep.setString(1,stuId);
-
//执行SQL获取结果集对象
-
ResultSet rs = prep.executeQuery();
-
while (rs.next()) {
-
stu = new Student();
-
stu.setStuId(rs.getString("number"));
-
stu.setStuName(rs.getString("name"));
-
stu.setStuClass(rs.getString("class"));
-
stu.setChineseScore(rs.getDouble("chinese"));
-
stu.setEnglisScore(rs.getDouble("english"));
-
stu.setMathScore(rs.getDouble("math"));
-
}
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
return stu;
-
}
②在DaoTest.class中进行测试
-
package sams.ck.test;
-
-
import java.sql.SQLException;
-
import java.util.ArrayList;
-
import java.util.List;
-
-
import sams.ck.dao.stuDao;
-
import sams.ck.entity.Student;
-
import sams.ck.service.stuService;
-
import sams.ck.util.DBUtil;
-
-
public class DaoTest {
-
public static void main(String[] args) {
-
stuDao dao = new stuDao();
-
-
String stuId = "20221001";
-
-
Student stu = new Student();
-
-
stu = dao.findByStuId(stuId);
-
-
System.out.println(stu "查询成功");
-
}
-
}
输出的20221001学号的学生信息,测试成功。
③在stuService.class新建查询函数
-
//查询某个学生信息
-
public Student findByStuId(String stuId){
-
Student stu=dao.findByStuId(stuId);
-
return stu;
-
}
④在stuServlet.class中新建分支
-
else if (path.equals("/toUpdateStu")) {
-
// 获取前端产地过来的stuId值
-
String stuId = request.getParameter("stuId");//学号
-
Student stu = service.findByStuId(stuId);
-
// 将查询出的数据绑定到request对象中
-
request.setAttribute("stu", stu);
-
// 转发到updateStu.jsp页面
-
request.getRequestDispatcher("updateStu.jsp").forward(request, response);
-
}
⑤编写updateStu.jsp
-
<%@page import="sams.ck.entity.Student"%>
-
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.List,sams.ck.entity.*"
-
pageEncoding="utf-8"%>
-
-
<html>
-
<head>
-
<meta charset="utf-8">
-
<title>Update Student</title>
-
</head>
-
<body>
-
<div>
-
<div>
-
<div>
-
<h1>
-
修改学生信息:
-
</h1>
-
<form action="updateStu.do" method="post">
-
-
<%
-
Student stu=(Student)request.getAttribute("stu");
-
-
%>
-
<table cellpadding="0" cellspacing="0" border="0"
-
class="form_table">
-
<tr>
-
<td valign="middle" align="right">
-
学号:
-
</td>
-
<td valign="middle" align="left">
-
<%=stu.getStuId() %>
-
<input type="hidden" name="stuId" value="<%=stu.getStuId() %>"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
姓名:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="stuName" value="<%=stu.getStuName() %>"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
班级:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="stuClass" value="<%=stu.getStuClass() %>"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
语文:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="ChineseScore" value="<%=stu.getChineseScore() %>"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
数学:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="MathScore" value="<%=stu.getMathScore() %>"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
英语:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="EnglishScore" value="<%=stu.getEnglisScore() %>"/>
-
</td>
-
</tr>
-
</table>
-
<p>
-
<input type="submit" class="button" value="确认" />
-
</p>
-
</form>
-
</div>
-
</div>
-
</div>
-
</body>
-
</html>
此处的stu与Servlet中的stu是相互绑定的
测试:
在成绩列表点击修改按钮
可以看到修改页面显示学生信息
(如果不想在url看到参数请将按钮提交方式改为post)
测试成功。
(2)提交已修改的学生信息
①在stuDao.class写修改方法
-
//修改学生信息
-
public void updateStudent(Student stu) {
-
try {
-
//获取数据库连接
-
Connection conn = DBUtil.getConnection();
-
//定义SQL语句
-
String sql = "update students set name=?,class=?,chinese=?,math=?,english=? where number=?";
-
//获取PreparedStatement对象
-
PreparedStatement prep = conn.prepareStatement(sql);
-
//将传递的参数 注入到占位符中
-
-
prep.setString(1,stu.getStuName());
-
prep.setString(2,stu.getStuClass());
-
prep.setDouble(3,stu.getChineseScore());
-
prep.setDouble(4,stu.getMathScore());
-
prep.setDouble(5,stu.getEnglisScore());
-
prep.setString(6,stu.getStuId());
-
-
//执行SQL获取结果集对象
-
prep.executeUpdate();
-
-
} catch (SQLException e) {
-
e.printStackTrace();
-
}
-
}
②在DaoTest,class中进行测试
-
package sams.ck.test;
-
-
import java.sql.SQLException;
-
import java.util.ArrayList;
-
import java.util.List;
-
-
import sams.ck.dao.stuDao;
-
import sams.ck.entity.Student;
-
import sams.ck.service.stuService;
-
import sams.ck.util.DBUtil;
-
-
public class DaoTest {
-
public static void main(String[] args) {
-
stuDao dao = new stuDao();
-
-
String stuId = "20221001";
-
-
Student stu = new Student();
-
stu = dao.findByStuId(stuId);
-
System.out.println("修改前:" stu);
-
stu.setChineseScore(0.0);
-
stu.setEnglisScore(0.0);
-
stu.setMathScore(0.0);
-
dao.updateStudent(stu);
-
System.out.println("修改后:" stu);
-
}
-
}
测试结果显示,修改成功:
③在service实现修改业务
-
//修改学生信息
-
public void updateStu(Student stu){
-
dao.updateStudent(stu);
-
}
④在Servlet新建处理修改请求的分支
-
else if (path.equals("/updateStu")) {
-
// 获取请求参数
-
String stuId = request.getParameter("stuId");//学号
-
String stuName = request.getParameter("stuName");//姓名
-
String stuClass = request.getParameter("stuClass");//班级
-
double ChineseScore = Double.parseDouble(request.getParameter("ChineseScore"));//语文
-
double MathScore = Double.parseDouble(request.getParameter("MathScore"));//数学
-
double EnglishScore = Double.parseDouble(request.getParameter("EnglishScore"));//英语
-
// 封装数据
-
Student Stu = new Student();
-
Stu.setStuId(stuId);
-
Stu.setStuName(stuName);
-
Stu.setStuClass(stuClass);
-
Stu.setChineseScore(ChineseScore);
-
Stu.setMathScore(MathScore);
-
Stu.setEnglisScore(EnglishScore);
-
//实现修改业务
-
service.updateStu(Stu);
-
// 重定向回列表显示页面
-
response.sendRedirect("stuList.do");
-
}
⑤测试与思路
测试:
思路:
修改学生信息,首先要通过修改学生的id获取全部需要修改的学生信息。在dao层实现通过学生id对学生信息的查找。在前端通过url传递参数,在servlet中从request中获取前端传递来的参数,再通过业务层对象调取dao层方法,将此id全部学生信息显示在修改页面。总而言之,就是从前端获取学生id,通过后端查询id并显示在页面上。
数据正常显示后,再将前端修改后的信息传递给Servlet层,Servlet层通过调用后端的更新方法来提交给数据库,并重定向会前端列表界面。
4、成绩查询
新的页面:输入学号、显示姓名、语文、数学、英语、总分。
①在stuDao.class中新建查询函数
-
//查询学生成绩
-
public Student seleStudent(String stuId) {
-
Student stu = null;
-
try {
-
//获取数据库连接
-
Connection conn = DBUtil.getConnection();
-
//定义SQL语句
-
String sql = "select name,Chinese,Math,English FROM students WHERE number=?";
-
//获取PreparedStatement对象
-
PreparedStatement prep = conn.prepareStatement(sql);
-
//将传递的参数 注入到占位符中
-
prep.setString(1,stuId);
-
//执行SQL获取结果集对象
-
ResultSet rs = prep.executeQuery();
-
while (rs.next()) {
-
stu = new Student();
-
stu.setStuName(rs.getString("name"));
-
stu.setChineseScore(rs.getDouble("chinese"));
-
stu.setEnglisScore(rs.getDouble("english"));
-
stu.setMathScore(rs.getDouble("math"));
-
}
-
} catch (SQLException e) {
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
}
-
return stu;
-
}
②在DaoTest.class中进行测试
-
package sams.ck.test;
-
-
import java.sql.SQLException;
-
import java.util.ArrayList;
-
import java.util.List;
-
-
import sams.ck.dao.stuDao;
-
import sams.ck.entity.Student;
-
import sams.ck.service.stuService;
-
import sams.ck.util.DBUtil;
-
-
public class DaoTest {
-
public static void main(String[] args) {
-
stuDao dao = new stuDao();
-
String stuId = "20221001";
-
Student stu = new Student();
-
stu = dao.seleStudent(stuId);
-
System.out.println(stu);
-
}
-
}
测试结果,查询成功:
③修改stuList.jsq的搜索框
-
<form action="toInquiryStu.do" method="post">
-
<input placeholder="请输入您的学号" name="stuId" ><input type="submit" value="查询">
-
</form>
④创建一个查询页面
InquiryStu.jsp
-
<%@page import="sams.ck.service.stuService"%>
-
<%@page import="sams.ck.entity.Student"%>
-
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.List,sams.ck.entity.*"
-
pageEncoding="utf-8"%>
-
-
<html>
-
<head>
-
<meta charset="utf-8">
-
<title>Update Student</title>
-
</head>
-
<body>
-
<div>
-
<div>
-
<div>
-
<h1>
-
查询学生成绩:
-
</h1>
-
<form action="stuList.do" method="post">
-
<%
-
Student stu=(Student)request.getAttribute("stu");
-
%>
-
<table cellpadding="0" cellspacing="0" border="0"
-
class="form_table">
-
<tr>
-
<td valign="middle" align="right">
-
学生姓名:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" name="stUName" value="<%=stu.getStuName() %>" readonly="readonly"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
语文分数:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="ChineseScore" value="<%=stu.getChineseScore() %>" readonly="readonly"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
数学分数:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="MathScore" value="<%=stu.getMathScore() %>" readonly="readonly"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
英语分数:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="EnglishScore" value="<%=stu.getEnglisScore() %>" readonly="readonly"/>
-
</td>
-
</tr>
-
<tr>
-
<td valign="middle" align="right">
-
总分数:
-
</td>
-
<td valign="middle" align="left">
-
<input type="text" class="inputgri" name="totalScore" value="<%=stu.getChineseScore() stu.getMathScore() stu.getEnglisScore() %>" readonly="readonly"/>
-
</td>
-
</tr>
-
-
</table>
-
<p>
-
<input type="submit" class="button" value="返回" />
-
</p>
-
</form>
-
</div>
-
</div>
-
</div>
-
</body>
-
</html>
⑤实现Servlet层功能
-
else if (path.equals("/toInquiryStu")) {
-
// 服务端获取浏览器端传递的参数
-
String stuId = request.getParameter("stuId");
-
//调用业务层的查询方法
-
Student stu = service.selecStudent(stuId);
-
//将查询结果传给前端
-
// 将查询出的数据绑定到request对象中
-
request.setAttribute("stu", stu);
-
// 转发到inquiryStu.jsp页面
-
request.getRequestDispatcher("inquiryStu.jsp").forward(request, response);
-
}
⑥测试与思路
测试:
输入学号
查询页面
思路:
- dao层根据学号查询学生成绩信息:语文、数学、英语、总分的分数。
- service层调用dao层。
- 前端 jsp 页面把输入的学号传递给Servlet,Servlet拿着学号去业务层调方法取得数据库中的分数信息,再通过转发技术将参数返回给前端查询页面。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgakcef
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01