iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >JavaWeb实现学生信息管理系统(2)
  • 133
分享到

JavaWeb实现学生信息管理系统(2)

2024-04-02 19:04:59 133人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文接着上一篇,继续为大家分享了javaweb实现学生信息管理系统的第二篇,供大家参考,具体内容如下 今日任务:实现学生管理系统的查找和添加功能! 一、查询学生信息 1. index

本文接着上一篇,继续为大家分享了javaweb实现学生信息管理系统的第二篇,供大家参考,具体内容如下

今日任务:实现学生管理系统的查找和添加功能!

一、查询学生信息

1. index.jsp

先写一个jsP页面【WEBContent/index.jsp】,里面放一个超链接


<a href="StudentListServlet" rel="external nofollow" >显示所有学生列表</a>

2. StudentListServlet.java

写StudentListServlet【com.servlet包下的StudentListServlet.java】,接受请求,去调用service,再由service调用dao


package com.servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

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 com.domain.Student;
import com.service.StudentService;
import com.service.impl.StudentServiceImpl;


@WebServlet("/StudentListServlet")
public class StudentListServlet extends HttpServlet {
 
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  
  try {
   //1.查询出来所有的学生
   StudentService service = new StudentServiceImpl();
   List<Student> list = service.findAll();
   
   //2.先把数据存储到作用域中 
   //3..跳转页面
   
  } catch (SQLException e) {
  
   e.printStackTrace();
  }
  
 }

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doGet(request, response);
 }

}

3. StudentDao.java & StudentDaoImpl.java

3.1 StudentDao.java【com.dao包下】


package com.dao;

import java.sql.SQLException;
import java.util.List;

import com.domain.Student;


public interface StudentDao {
 
 List<Student> findAll() throws SQLException;
}

3.2 StudentDaoImpl.java【com.dao.impl包下】

实现StudentDao里的findAll()方法。


public class StudentDaoImpl implements StudentDao {
 
 @Override
 public List<Student> findAll() throws SQLException {
  
  QueryRunner runner = new QueryRunner(JDBCUtil02.getDataSource());
  String sql = "select * from stu";
  List<Student> list = runner.query(sql, new BeanListHandler<Student>(Student.class));
  return list;
 }
}

4. StudentService.java 和 StudentService.java

4.1 StudentService.java

代码同StudentDao.java,


public interface StudentService {

 
 List<Student> findAll() throws SQLException;

}

4.2 StudentService.java


public class StudentServiceImpl implements StudentService{

 @Override
 public List<Student> findAll() throws SQLException {
  StudentDao dao = new StudentDaoImpl();
  return dao.findAll();
 } 
}

5. 在StudentListServlet存储数据,并作出页面响应


//2.先把数据存储到作用域中
request.setAttribute("list", list);
   
//3..跳转页面
request.getRequestDispatcher("list.jsp").forward(request, response);

6. list.jsp

在list.jsp【WebContent/list.jsp】上显示数据。


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生列表页面 </title>
</head>
<body>
 <table border="1" width="700">
  
  <tr>
   <td colspan="8">
    <a href="add.jsp" rel="external nofollow" >添加</a>
   </td>
  </tr>
  
  <tr align="center">
   <td>编号</td>
   <td>姓名</td>
   <td>性别</td>
   <td>电话</td>
   <td>生日</td>
   <td>爱好</td>
   <td>简介</td>
   <td>操作</td>
  </tr>
  
  <c:forEach items="${list }" var="stu">
   <tr align="center">
   <td>${stu.sid }</td>
   <td>${stu.sname }</td>
   <td>${stu.gender }</td>
   <td>${stu.phone }</td>
   <td>${stu.birthday }</td>
   <td>${stu.hobby }</td>
   <td>${stu.info }</td>
   <td><a href="#" rel="external nofollow"  rel="external nofollow" >更新</a>  <a href="#" rel="external nofollow"  rel="external nofollow" >删除</a></td>
  </tr>
  </c:forEach>
  
 </table>
</body>
</html>

7. 查找结果如下:

二、添加学生信息

1. add.jsp

我们需要先跳转到增加页面,编写增加页面add.jsp【WebContent/add.jsp】


<body>

 <h3>添加学生页面</h3>
 
 <fORM action="AddServlet" method="post">
  <table border="1" width="600">
   <tr>
    <td>姓名</td>
    <td><input type="text" name="sname"></td>
   </tr>
   <tr>
    <td>性别</td>
    <td>
     <input type="radio" name="gender" value="男">男
     <input type="radio" name="gender" value="女">女
    </td>
   </tr>
   <tr>
    <td>电话</td>
    <td><input type="text" name="phone"></td>
   </tr>
   <tr>
    <td>生日</td>
    <td><input type="text" name="birthday"></td>
   </tr>
   <tr>
    <td>爱好</td>
    <td>
     <input type="checkbox" name="hobby" value="游泳">游泳
     <input type="checkbox" name="hobby" value="篮球">篮球
     <input type="checkbox" name="hobby" value="足球">足球
     <input type="checkbox" name="hobby" value="看书">看书
     <input type="checkbox" name="hobby" value="写字">写字
    </td>
   </tr>
   <tr>
    <td>简介</td>
    <td>
     <textarea rows="3" cols="20" name="info"></textarea>
    </td>
   </tr>
   <tr>
    <td colspan="2"><input type="submit" value="添加"></td>
   </tr>
  </table>
 </form>
 
</body>

实现结果如下:

2. AddServlet.java

点击添加,提交数据到AddServlet,处理数据。
【备:com.servlet包下的AddServlet.java】


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  request.setCharacterEncoding("utf-8");
  
  try {

   //1.获取客户端提交上来的数据
   String sname = request.getParameter("sname");
   String gender = request.getParameter("gender");
   String phone = request.getParameter("phone");
   String birthday = request.getParameter("birthday");  //传过来是1989-10-18
   String info = request.getParameter("info");
    
   //String hobby = request.getParameter("hobby");
   String [] h = request.getParameterValues("hobby");
   //[篮球,足球,写字]-----篮球,足球,写字
   String hobby = Arrays.toString(h);
   hobby = hobby.substring(1,hobby.length()-1);
   
   //2.添加到数据库
   
   //String-------Date
   Date date = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
   
   Student student = new Student(sname,gender,phone,hobby,info,date);
   StudentService service = new StudentServiceImpl();
   service.insert(student);
   
   //3.跳转到列表页
   //这里是直接跳转到页面上,那么这个页面会重新翻译一次,上面那个request里面的数据就没有了
   //request.getRequestDispatcher("list.jsp").forward(request, response);
   
   //servlet除了能跳jsp之外,还能跳servlet
   request.getRequestDispatcher("StudentListServlet").forward(request, response);
   
   
  } catch (Exception e) {
   e.printStackTrace();
  }
   
 }

3. StudentDao & StudentService


 
 void insert(Student student) throws SQLException;

4. Dao & Service的实现

4.1 StudentDaoImpl.java


 @Override
 public void insert(Student student) throws SQLException {
  
  QueryRunner runner = new QueryRunner(JDBCUtil02.getDataSource());
  String sql = "insert into stu values(null,?,?,?,?,?,?)";
  runner.update(sql,
    student.getSname(),
    student.getGender(),
    student.getPhone(),
    student.getBirthday(),
    student.getHobby(),
    student.getInfo()
    
    );
 }

4.2 StudentServiceImpl.java


@Override
 public void insert(Student student) throws SQLException {
  StudentDao dao = new StudentDaoImpl();
  dao.insert(student);
  
 }

5. 注意

完成了上述存储工作之后,需要跳转到列表页面,这里不能直接跳转到列表页面,否则没有什么内容显示。应该先跳转到查询所有学生信息的那个servlet,即StudentListServlet,再由这个servlet跳转到列表页面。


request.getRequestDispatcher("StudentListServlet").forward(request, response);

hobby的value有多个值。处理时需多次转化:


//String hobby = request.getParameter("hobby");
String [] h = request.getParameterValues("hobby");
//[篮球,足球,写字]-----篮球,足球,写字
String hobby = Arrays.toString(h);
hobby = hobby.substring(1,hobby.length()-1);

6. 添加结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JavaWeb实现学生信息管理系统(2)

本文链接: https://www.lsjlt.com/news/132629.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaWeb实现学生信息管理系统(2)
    本文接着上一篇,继续为大家分享了JavaWeb实现学生信息管理系统的第二篇,供大家参考,具体内容如下 今日任务:实现学生管理系统的查找和添加功能! 一、查询学生信息 1. index...
    99+
    2022-11-12
  • JavaWeb实现学生信息管理系统(1)
    这是一个很简单的学生信息管理系统,会用到很多小知识,比如说: 数据库连接池 DBUtils JSP、EL、JSTL MVC设计模式 JavaWeb...
    99+
    2022-11-12
  • JavaWeb实现学生信息管理系统(3)
    本文接着第二篇,继续为大家分享了JavaWeb实现学生信息管理系统,供大家参考,具体内容如下 今日任务:实现学生管理系统的删除、更新、修改和模糊查询功能! 一、删除学生信息 点击超链...
    99+
    2022-11-12
  • Javaweb学生信息管理系统(Mysql+JSP+MVC+CSS)
    项目源码及数据库: 链接:https://pan.baidu.com/s/1ktUyxbOI9lljWr-HRTRIiQpwd=1024 提取码:1024   目录 一.项目介绍 二.运行效果 1.登录界面 2.主界面(点击学号修改学生信息...
    99+
    2023-10-26
    mvc java 开发语言
  • JavaWeb实现学生管理系统
    JavaWeb实现学生管理系统 一、项目介绍二、项目结构三、前期准备1.配置maven环境,在pom.xml配置文件中配置项目所依赖的jar包2.在MySql数据库中,创建登录注册表login和学生信息表student(1)登录注册...
    99+
    2023-08-16
    servlet java 数据库
  • python tkinter实现学生信息管理系统
    本文实例为大家分享了python tkinter实现学生信息管理系统的具体代码,供大家参考,具体内容如下 初学python,代码写的比较繁杂,系统功能还有完善的空间 系统使用了mys...
    99+
    2022-11-13
  • 用python实现学生信息管理系统
    用Python实现学生信息管理系统,供大家参考,具体内容如下 系统功能有: 1.录入,查找,删除,修改学生信息2.学生成绩排名3.显示全部学生信息 代码如下: filename = ...
    99+
    2022-11-11
  • JavaScript+HTML实现学生信息管理系统
    目录一、前言二、效果图三、代码四、学生信息管理系统主界面一、前言 用数组来存储所有学生对象的信息,实现了双向更新,初始时(数组内的对象信息“填充界面”),后面的界面操作可以更新数组内...
    99+
    2022-11-12
  • java+sqlserver实现学生信息管理系统
    目录一.实现效果二.实现代码1.DBUtil.java2.操作程序test.java前提: 1.建立了与sqlserver数据库的连接(JTDS连接sqlserver数据库的包jtd...
    99+
    2022-11-12
  • C++实现学生信息管理系统(Map实现)
    本文实例为大家分享了C++实现学生信息管理系统的具体代码,供大家参考,具体内容如下 1、 作品的功能描述: 实现一个学生信息管理系统,通过对学生信息类中的成员进行增、删、改、查从而实...
    99+
    2022-11-13
  • 【JAVA】学生信息管理系统
    目录 前言 一、环境搭建 二、功能实现 1.学生信息类的创建 2.学生信息的添加功能 3.学生信息的删除功能 4.学生信息的修改功能  5.学生信息的查看功能  三、主类的调用 1.界面的搭建 2.学生端和教师端 3.系统和功能的选择 总...
    99+
    2023-09-09
    java
  • Java实现简单学生信息管理系统
    最近在学习Java,所以写了个学生信息管理系统,话不多说,上代码。 Student.java: package com.mumu; public class Student {...
    99+
    2022-11-12
  • python代码实现学生信息管理系统
    本文实例为大家分享了python实现学生信息管理系统的具体代码,含代码注释、增删改查、排序、统计显示学生信息,供大家参考,具体内容如下 运行如下: 具体代码如下: # _*_ co...
    99+
    2022-11-10
  • python学生信息管理系统实现代码
    python实现学生信息管理系统,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding:utf-8 -*- import re impo...
    99+
    2022-11-12
  • C++实现简单学生信息管理系统
    本文实例为大家分享了C++实现学生信息管理系统的具体代码,供大家参考,具体内容如下 编译环境: Microsoft Visual Studio 2019 3个头文件: Fileope...
    99+
    2022-11-13
  • C++代码实现学生信息管理系统
    本文实例为大家分享了C++实现学生信息管理系统的具体代码,供大家参考,具体内容如下 编译环境: Microsoft Visual Studio 2019 3个头文件: Fileope...
    99+
    2022-11-13
  • java+io+swing实现学生信息管理系统
    本文实例为大家分享了java+io+swing实现学生信息管理系统的具体代码,供大家参考,具体内容如下 说明: 1.开发环境基于eclipse外加windowbuilder插件。2....
    99+
    2022-11-13
  • C语言实现学生信息管理系统
    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_WARNINGS #include <stdi...
    99+
    2022-11-13
  • java怎样实现学生信息管理系统
    这篇文章将为大家详细讲解有关java怎样实现学生信息管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下 import java.util.Scanner;//导入jav...
    99+
    2023-05-30
    java
  • python怎么实现学生信息管理系统
    本文将为大家详细介绍“python怎么实现学生信息管理系统”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python怎么实现学生信息管理系统”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作