• JAVA+Web+应用开发技术与案例教程第2版张继军第七章Java Web 常用开发模式与案例课后习题


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 qq_56990635 2024-06-05 09:28 采纳率: 0% 浏览 1 首页/ 编程语言 / JAVA+Web+应用开发技术与案例教程第2版张继军第七章Java Web 常用开发模式与案例课后习题 java 本实验为设计性实验项目,要求通过实验掌握JavaWeb常用开发模式,以下课题从中选取一个进行设计。(一)Web程序实现复数运算设计任意两个复数实现4则运算(复数加法、减法、乘法、除法)的Web程序。要求采用如下的设计模式:(1)JavaBea+JSP(2)JavaBean+Servlet+JSP(二)图书管理系统设计实现一个图书管理系统。图书信息存放到一个数据库中。图书包含信息:图书号、图书名、作者、价格、备注字段。要求:基于JSP+Servlet+JavaBean+JDBC+DAO的Web架构设计该系统,进一步了解并掌握如何对数据库进行操作,以及如何分析、设计一个应用系统。需求要求:该系统的基本需求是,系统要实现如下的基本管理功能:(1)用户分为两类:系统管理员,一般用户。(2)提供用户注册和用户登录验证功能;其中一个登录用户的信息有:登录用户名,登录密码。(3)管理员可以实现对注册用户的管理(删除),并实现对图书的创建、查询、修改和删除等有关的操作(4)一般用户,只能查询图书,并进行借书、还书操作,每个用户最多借阅8本,即当目前借书已经是8本,则不能再借书了,只有还书后,才可以再借阅。 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-05 09:28
      关注

      引自免费微信小程序:皆我百晓生

      为了满足您的需求,我将分别介绍这两个课题的实现步骤和关键代码片段。由于篇幅较长,我将分开描述。

      (一)Web程序实现复数运算

      1. 创建JavaBean类

      首先,创建一个名为ComplexNumber.java的JavaBean类,用于表示复数。

      public class ComplexNumber {
          private double real;
          private double imaginary;
      
          // 构造函数
          public ComplexNumber(double real, double imaginary) {
              this.real = real;
              this.imaginary = imaginary;
          }
      
          // 获取和设置方法
          public double getReal() {
              return real;
          }
      
          public void setReal(double real) {
              this.real = real;
          }
      
          public double getImaginary() {
              return imaginary;
          }
      
          public void setImaginary(double imaginary) {
              this.imaginary = imaginary;
          }
      
          // 复数加法、减法、乘法、除法
          public ComplexNumber add(ComplexNumber other) {
              return new ComplexNumber(this.real + other.real, this.imaginary + other.imaginary);
          }
      
          public ComplexNumber subtract(ComplexNumber other) {
              return new ComplexNumber(this.real - other.real, this.imaginary - other.imaginary);
          }
      
          public ComplexNumber multiply(ComplexNumber other) {
              double realPart = this.real * other.real - this.imaginary * other.imaginary;
              double imaginaryPart = this.real * other.imaginary + this.imaginary * other.real;
              return new ComplexNumber(realPart, imaginaryPart);
          }
      
          public ComplexNumber divide(ComplexNumber other) {
              double denominator = other.real * other.real + other.imaginary * other.imaginary;
              double realPart = (this.real * other.real + this.imaginary * other.imaginary) / denominator;
              double imaginaryPart = (this.imaginary * other.real - this.real * other.imaginary) / denominator;
              return new ComplexNumber(realPart, imaginaryPart);
          }
      }
      

      2. 创建Servlet

      接下来,创建一个名为ComplexCalculatorServlet.java的Servlet,处理请求并返回结果。

      import javax.servlet.*;
      import javax.servlet.http.*;
      import java.io.*;
      
      public class ComplexCalculatorServlet extends HttpServlet {
          protected void doPost(HttpServletRequest request, HttpServletResponse response)
                  throws ServletException, IOException {
              String operation = request.getParameter("operation");
              String num1Real = request.getParameter("num1Real");
              String num1Imaginary = request.getParameter("num1Imaginary");
              String num2Real = request.getParameter("num2Real");
              String num2Imaginary = request.getParameter("num2Imaginary");
      
              ComplexNumber num1 = new ComplexNumber(Double.parseDouble(num1Real), Double.parseDouble(num1Imaginary));
              ComplexNumber num2 = new ComplexNumber(Double.parseDouble(num2Real), Double.parseDouble(num2Imaginary));
      
              ComplexNumber result = null;
              switch (operation) {
                  case "add":
                      result = num1.add(num2);
                      break;
                  case "subtract":
                      result = num1.subtract(num2);
                      break;
                  case "multiply":
                      result = num1.multiply(num2);
                      break;
                  case "divide":
                      if (num2.getReal() != 0 && num2.getImaginary() != 0) {
                          result = num1.divide(num2);
                      } else {
                          throw new IllegalArgumentException("Cannot divide by zero.");
                      }
                      break;
                  default:
                      throw new ServletException("Invalid operation: " + operation);
              }
      
              request.setAttribute("result", result);
              RequestDispatcher dispatcher = request.getRequestDispatcher("result.jsp");
              dispatcher.forward(request, response);
          }
      }
      

      3. 创建JSP页面

      然后,创建两个JSP文件:index.jsp用于输入数据和选择运算,result.jsp显示计算结果。

      index.jsp

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      
      
      
          Complex Number Calculator
      
      
          

      Complex Number Calculator

      Real part of first number:
      Imaginary part of first number:
      Real part of second number:
      Imaginary part of second number:
      Operation:

      result.jsp

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      
      
      
          Result
      
      
          

      Result

      Result: ${result.real} + (${result.imaginary})i

      (二)图书管理系统

      1. 数据库表结构

      创建一个名为books的表,存储图书信息。

      | Field | Type | Null | Key | Default | Extra | |-------------|--------------|------|-----|---------|-------| | id | int(11) | NO | PRI | NULL | auto_increment | | title | varchar(255) | NO | | NULL | | | author | varchar(255) | NO | | NULL | | | price | decimal(10,2)| NO | | NULL | | | remarks | text | YES | | NULL | |

      2. 创建JavaBean类

      创建Book.javaUser.java两个JavaBean类。

      Book.java

      public class Book {
          private int id;
          private String title;
          private String author;
          private double price;
          private String remarks;
      
          // getters and setters...
      }
      

      User.java

      public class User {
          private int id;
          private String username;
          private String password;
          private boolean isAdmin;
      
          // getters and setters...
      }
      

      3. 创建DAO层接口和实现类

      创建BookDao.javaUserDao.java接口,以及相应的实现类(例如HibernateBookDao.javaHibernateUserDao.java)。

      4. 创建Service层

      创建BookService.javaUserService.java,封装业务逻辑。

      5. 创建Servlet

      根据需求创建多个Servlet,如RegisterServlet, LoginServlet, AdminServlet, 和UserServlet

      6. 创建JSP页面

      创建多个JSP页面,如register.jsp, login.jsp, admin.jsp, user.jsp, search.jsp, borrow.jsp, 和returnBook.jsp

      7. 配置Spring MVC和Hibernate

      配置Spring MVC和Hibernate的XML配置文件,包括数据源、SessionFactory、事务管理器、DAO和Service的bean定义。

      8. 安全认证

      使用Spring Security或其他安全框架实现用户登录验证和权限控制。

      这是一个大型的项目,涉及到许多组件和配置,以上只给出了基础的框架和部分关键代码。你需要根据实际需求,逐步完善各个模块的功能,包括但不限于数据库连接、CRUD操作、页面跳转、错误处理、表单验证等。具体实现细节可能需要参考相关Spring MVC、Hibernate和Spring Security的文档,或者查阅其他教程来完成整个项目。

      展开全部

      评论 编辑记录
    • 阿里嘎多学长 2024-06-05 09:28
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      很高兴你选择了这两个有趣的项目来加深对Java Web开发模式的理解。下面我将为你提供一些关于如何开始这两个项目的指导,以及一些可能有用的资源。

      复数运算Web程序设计

      设计模式选择

      1. JavaBean + JSP:

        • JavaBean: 用于封装复数的属性和运算逻辑。
        • JSP: 用于展示用户界面和接收用户输入。
      2. JavaBean + Servlet + JSP:

        • JavaBean: 同上。
        • Servlet: 作为中间层处理业务逻辑,例如接收请求、调用JavaBean进行运算。
        • JSP: 同上。

      开发步骤

      1. 定义JavaBean:

        • 创建一个复数类,包含实部和虚部属性。
        • 实现复数的四则运算方法。
      2. 创建JSP页面:

        • 设计用户界面,允许用户输入两个复数。
        • 提供一个表单,用户可以提交运算请求。
      3. 编写Servlet (如果选择第二种模式):

        • 创建Servlet来处理HTTP请求。
        • Servlet调用JavaBean进行运算,并返回结果。
      4. 整合和测试:

        • 将所有组件整合在一起。
        • 进行测试以确保程序按预期工作。

      图书管理系统设计

      架构选择

      • JSP: 用于展示用户界面和接收用户输入。
      • Servlet: 作为控制器处理HTTP请求。
      • JavaBean: 用于封装图书和用户的数据模型。
      • JDBC: 用于数据库连接和操作。
      • DAO: 数据访问对象,封装数据库操作逻辑。

      开发步骤

      1. 数据库设计:

        • 设计图书和用户表。
        • 创建数据库和表。
      2. 定义JavaBean:

        • 创建图书类和用户类。
      3. 实现DAO:

        • 创建DAO接口和实现类,用于数据库操作。
      4. 编写Servlet:

        • 创建Servlet处理用户请求,如注册、登录、图书管理等。
      5. 设计JSP页面:

        • 设计用户界面,包括注册、登录、图书列表、借书和还书等。
      6. 整合和测试:

        • 将所有组件整合在一起。
        • 进行测试以确保系统功能正常。

      参考资料

      请注意,以上链接可能需要根据你的网络环境进行访问。希望这些信息能帮助你开始你的项目!如果你需要更具体的代码示例或进一步的帮助,请随时提问。

      展开全部

      评论 编辑记录
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    [Qt网络编程]之UDP通讯的简单编程实现
    SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(中)
    WPF界面设计学习
    三菱FX3U小项目—机床定时器延时启动
    unity基础4-常用插件
    基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)
    CTF取证技术实战,图片、文件、流等相关内容的取证技术
    计算机组成原理知识——CPU结构组成和功能、堆栈、RISC、
    JAVA地铁舆情管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
    去除重复字母(不同字符的最小序列)问题
  • 原文地址:https://ask.csdn.net/questions/8114230