【JavaWeb程序设计】JSP访问数据库(二)

目录

一、编写一个网页,实现根据输入学生姓名的模糊查询,如果查找不到就显示“查无此人”

1. 运行截图

2. 建表

3. JSP页面主要代码(inquire.jsp)

4. Bean实体类

5. DAO层

6. Service层(模糊查询)

7. Servlet

二、实现学生注册和登录功能

1. 运行截图

2. 建表

3. Bean实体类

4. 登录

4.1 login.jsp

4.2 DAO层

4.3 Service层

4.4 Servlet

4.4.1 Service层

4.4.2 DAO层

5. 注册

5.1 register.jsp

5.2 DAO层

5.5 Service层

5.4 Servlet


引言

需要源码可以评论,如果评论的人多的话我会抽空上传资源。如果我发布的博客对您有帮助,还请动动小手点赞or收藏哦~主页还有其他博客欢迎访问,您的关注将会是我更新的动力!

一、编写一个网页,实现根据输入学生姓名的模糊查询,如果查找不到就显示“查无此人”

1. 运行截图

2. 建表

连接数据库:

3. JSP页面主要代码(inquire.jsp)

设置一个表单,点击查询之后将请求发送到Servlet;

如果有数据则显示,没有的话显示查无此人。

4. Bean实体类

5. DAO层

根据Service层传过来的姓到数据库查找对应的姓名

6. Service层(模糊查询)

7. Servlet

调用service层中的方法,获取数据并转发到JSP页面

二、实现学生注册和登录功能

输入学生学号(stuId)和密码(stuPwd),如果学号不存在,跳转到注册界面,完成注册功能;如果学号存在,密码匹配显示“登录成功”,否则显示“登录失败”。

注:要求用PreparedStatement实现。

1. 运行截图

(1)输入正确学号和密码,显示登录成功:

(2)输入正确学号和错误密码,显示登录失败:

(3)输入不存在的学号,跳转到注册页面:

(4)注册已存在的学号,提示注册失败:

(5)注册新的学号,提示登录成功:

(6)点击确定跳转到登录页面登录,输入刚注册的信息登录成功:

(7)检验数据库是否增加了注册的信息:

2. 建表

3. Bean实体类

4. 登录

4.1 login.jsp

4.2 DAO层

根据输入的id和密码查询数据库是否有对应的信息

4.3 Service层

根据DAO层判断是否拿到信息

4.4 Servlet

验证输入的学号是否存在,这里引用isLogin去判断

4.4.1 Service层

根据DAO层判断是否拿到信息

4.4.2 DAO层

根据输入的学生id查找student03表是否有相应的id:

5. 注册

5.1 register.jsp

5.2 DAO层

5.5 Service层

5.4 Servlet

好的,我可以为您解答这个问题。 首先,我们需要创建一个Java GUI界面,其中包含一个文本框用于输入学生学号,一个按钮用于触发查询操作,以及一个文本区域用于显示查询结果。可以使用Swing或JavaFX等Java GUI库来实现界面的设计和布局。 然后,我们需要使用JDBC连接到数据库,查询学生成绩信息。可以使用MySQL或Oracle等关系型数据库来存储学生成绩信息。在查询时,我们需要根据输入的学生学号,从数据库中查询该学生的所有成绩信息。 下面是一个简单的示例代码,用于实现学生成绩查询功能: ```java import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ScoreQueryGUI extends JFrame implements ActionListener { private JTextField tfStuId; private JTextArea taResult; public ScoreQueryGUI() { super("学生成绩查询"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setLayout(new GridLayout(3, 1)); JLabel lbStuId = new JLabel("请输入学生学号:"); tfStuId = new JTextField(10); JButton btnQuery = new JButton("查询"); btnQuery.addActionListener(this); taResult = new JTextArea(10, 30); taResult.setEditable(false); JScrollPane sp = new JScrollPane(taResult); p.add(lbStuId); p.add(tfStuId); p.add(btnQuery); add(p, BorderLayout.NORTH); add(sp, BorderLayout.CENTER); setVisible(true); } public void actionPerformed(ActionEvent e) { String stuId = tfStuId.getText(); if (stuId.isEmpty()) { JOptionPane.showMessageDialog(this, "请输入学生学号", "错误", JOptionPane.ERROR_MESSAGE); return; } try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM score WHERE stu_id='" + stuId + "'"); taResult.setText(""); while (rs.next()) { String course = rs.getString("course"); int score = rs.getInt("score"); taResult.append(course + ":" + score + "\n"); } rs.close(); stmt.close(); con.close(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "错误", JOptionPane.ERROR_MESSAGE); } } public static void main(String[] args) { new ScoreQueryGUI(); } } ``` 在这个示例代码中,我们使用了MySQL数据库,并通过JDBC连接到数据库。在查询时,我们使用了SQL语句`SELECT * FROM score WHERE stu_id='" + stuId + "'"`,其中score是存储学生成绩信息的表名,stu_id和course是表中的两个列名。 当用户点击查询按钮时,程序会获取文本框中的学生学号,并执行查询操作。查询结果会显示在文本区域中。如果发生错误,程序会弹出一个错误对话框显示错误信息。 希望这个示例能够帮助您实现学生成绩查询功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值