java web 总结 (以school查询为例子)

本文详细介绍了使用Java Web开发school管理应用的全过程,从设计数据库和实体,到创建项目,再到界面、请求处理、业务处理和数据库交互层的设计。涵盖了增删改查功能的实现,并通过实际测试验证了系统的正确性。
摘要由CSDN通过智能技术生成

1.设计数据库

 

以该表为例子

 其中sc_code为主键

2.设计实体

当设计完数据库时,我们需要对数据库的数据进行包装,方便之后我们对其进行管理操作。

对比数据我们可以画出school表的e-r图

明确了school实体的关系和属性后,就可以将school表中的数据设计为一个School类进行管理。

public class School {
    private String sc_code;
    private String sc_name;
    private Date sc_birth;
    private String sc_address;
    private Integer sc_total;
    private Double sc_area;
    //并为属性设置get set方法,以及构造方法,本篇将不再展示。
    //。。。
}

3.明确设计的功能

        本程序将完成对school数据的增删改查,并为使用者提供直观的操作界面。

4.创建项目

        创建一个java web项目,本篇以maven自动生成的javaweb项目改造

如图

 其中的java文件夹存放java源文件,用于进行数据处理和请求处理。

resources文件夹存放资源文件。

webapp存放jsp文件以及 webapp.xml文件。jsp用于进行动态页面展示,webapp。xml文件用于进行webapp的路径分配以及其他的web设置。

target 文件属于编译生成文件。

5.概念设计

        5.1设计界面

对于需求,我们可以设计三个界面

        1用于对学校进行展示的界面,并且可以滴学校数据进行删除。

        2用于添加学校的界面。

        3用于修改学校的界面。

        5.2设计设计请求处理层

        对于请求处理我们需要使用到servlet 用于对请求进行处理。并且可以对增加,删除,修改,展示的请求进行响应。我们需要处理以下4种请求

        1索取学校数据的请求。

        2索取对应编号学校数据的请求。

        3删除学校数据的请求。

        4增加学校数据的请求。

        5.3设计业务处理层

当我们将所有的数据处理放到请求处理层是不合理的,若数据的设置放在请求处理层会使程序变得荣誉,耦合度也会大大提高,不方便我们对程序进行模块化设计。并且这也会大大复杂化请求处理。不利于对程序的重构。所以我们需要对数据的处理专门设计一个业务处理层。

        对于需求我们可以设计以下方法

//删除特定的school学校    
boolean del(String sc_code);
//获取所有的学校数据
List<School> getScAll();
//通过编号获取学校数据
School getScBySc_code(String sc_code);
//更新学校数据
boolean setSc(School school);
//增加学校数据
boolean addSc(School school);

        5.4设计数据库交互层

对于数据库连接的获取数据是繁琐的,我们需要单独一层对其进行封装。并完成以下内容:

        1获取school表数据。

        2获取对应sc_code的school表数据。

        3删除对应sc_code的school表数据。

        4添加school表数据。

6.具体设计

        6.1界面设计

    我们通过jsp设计动态界面,jsp本质上是servlet,所以我们可以通过<%%>添加java代码,但这违背了jsp用于设计界面的初衷,也大大提高了前端人员的维护难度。我们可以通过EL表达式与jstl标签库对jsp中的java代码标签化。以减少原生java代码的数量,简化代码,体现jsp文件用于展示数据的目的。

maven导入

    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.3</version>
      <scope>provided</scope>
    </dependency>

        设计query.jsp

   用于展示学校信息和各个界面的跳转功能。   通过后端传来的请求获取到学校的信息,并反映到界面上。

需要后端出入School类型的集合。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<table>
    <tr>
        <td>学校编号</td>
        <td>学校名字</td>
        <td>学校地址</td>
        <td>学校建校日期</td>
        <td>学校人数</td>
        <td>学校占地</td>
        <td>操作</td>
    </tr>
    <c:forEach items="${requestScope.scs}" var="sc">
        <tr>
            <td>${sc.sc_code}</td>
            <td>${sc.sc_name}</td>
            <td>${sc.sc_address}</td>
            <td>${sc.sc_birth}</td>
            <td>${s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值