基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页->处理从客户端提交过来的总金额数据,并将其存储到数据库中

技术支持:JAVA、JSP

服务器:TOMCAT 7.0.86

编程软件:IntelliJ IDEA 2021.1.3 x64

前文几个功能的实现的博客

基于JSP、java、Tomcat、mysql三层交互的项目实战--校园交易网(1)-项目搭建(前期准备工作)-CSDN博客

基于JSP、java、Tomcat、mysql三层交互的项目实战--校园交易网(2)登录功能实现_tomcat jsp mysql-CSDN博客

​​​​​​基于JSP、java、Tomcat三者的项目实战--校园交易网(2)注册功能实现-CSDN博客

基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页-显示清单(list)-CSDN博客

基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页--数据库也显示清单遗漏问题-CSDN博客

基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页--添加商品功能-CSDN博客

基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页--显示当前用户的信息和系统时间和实现一个简单的购物车功能,包括添加商品、增加数量、减少数量、删除商品以及计算总金额-CSDN博客

基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页--实现修改商品的名字与价格功能(万字爆更)增查改删,三端交互样样齐全-CSDN博客


目前我们讲完了主页①②③④这些功能

当我们准备说对购物车结算时,便会出现支付成功的弹框(简化做了支付功能)

而我们支付完成后,点击左下角历史清单,我们就可以知道我们支付过的账单。

刚刚的10666就出现了。


那我们先来说说支付界面的功能

服务端

TotalServlet

java 复制代码
package Servlet;

import dao.StudentDAO;
import entiy.Product;
import entiy.Total;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class TotalServlet extends HttpServlet {
    public void service(HttpServletRequest request,
                        HttpServletResponse response)

            throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String total = request.getParameter("total");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        try {
            StudentDAO dao = new StudentDAO();
           Total e1 = new Total();
            e1.setTotal(Double.parseDouble(total));

            System.out.println(e1.getTotal());
            dao.totalprice(e1);
            response.sendRedirect("list");
        } catch (Exception e) {
            e.printStackTrace();
            out.println("系统繁忙,请稍后再试!");
        }
        out.close();
    }
}

这段代码的功能是用于处理从客户端提交过来的总金额数据,并将其存储到数据库中。

  1. 获取请求参数:

    • 通过 request.getParameter("total") 获取名为 "total" 的请求参数,这里假设客户端提交了一个名为 "total" 的数据,表示总金额。
  2. 设置响应内容类型:

    • 使用 response.setContentType("text/html;charset=utf-8") 设置响应的内容类型为HTML,并指定字符编码为UTF-8。
  3. 创建DAO对象和实体对象:

    • 实例化 StudentDAO 类对象 dao,用于执行数据库操作。
    • 实例化 Total 类对象 e1,用于存储从请求参数中获取的总金额数据。
  4. 处理总金额数据:

    • 使用 Double.parseDouble(total) 将获取的总金额字符串转换为 double 类型,并设置到 e1 对象中的 total 属性中。
  5. 数据库操作:

    • 调用 dao.totalprice(e1) 方法,将 e1 中的总金额数据存储到数据库中。这里假设 totalprice 方法是 StudentDAO 类中的一个方法,用于将总金额数据持久化到数据库中。
  6. 异常处理:

    • 使用 try-catch 块捕获可能抛出的异常。如果出现异常,打印异常堆栈信息,并向客户端输出简单的错误信息:"系统繁忙,请稍后再试!"。
  7. 关闭输出流:

    • 在最后关闭输出流 out,释放资源。
  8. 重定向:

    • 最后调用 response.sendRedirect("list") 实现重定向到名为 "list" 的页面或Servlet。这里假设重定向到了一个列表页面,用于显示存储在数据库中的总金额数据。

这段代码的主要功能是接收来自客户端的总金额数据,将其存储到数据库中,然后重定向到另一个页面进行进一步的处理或展示。同时,它包含了异常处理机制,以确保在发生错误时能够友好地向用户显示错误信息。

web.xml

java 复制代码
    <servlet>
        <servlet-name>total</servlet-name>
        <servlet-class>Servlet.TotalServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>total</servlet-name>
        <url-pattern>/total</url-pattern>
    </servlet-mapping>
相关推荐
我是人✓5 分钟前
Spring框架的事务管理
java·后端·spring
kimnoic6 分钟前
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
开发语言·python
苏辰澈9 分钟前
C++独属于自己的变身:多态
c语言·开发语言·c++·visualstudio·编辑器
谢亮_vipxieliang9 分钟前
PHP 异常处理全解析:try-catch、自定义异常与全局异常处理器
开发语言·php
外收内放12 分钟前
Python基础语法练习题(65)
开发语言·python
浅尝辄止;18 分钟前
设计模式在HIS/LIS医疗系统中的完整实践指南(C#版)
开发语言·设计模式·c#
javachen__18 分钟前
JsonView:一套VO实现多角色字段返回
java·linux·服务器
行者-全栈开发35 分钟前
SpringBoot 生产环境踩坑实录:10个真实故障案例与教训
java·spring boot·后端
李福春38 分钟前
斗破Google ADK Java苍穹-第7境斗皇-御天地-Harness治理
java·人工智能·python·深圳同盟·腾讯云架构师技术同盟·adk java·harness 治理
Wang's Blog39 分钟前
Java 项目部署之 Docker工具快速入门: 容器命令练习:创建、改文件、重启到删除的完整闭环
java·开发语言·docker