基于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>
相关推荐
名字还没想好☜7 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
·薯条大王8 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
一壶浊酒..11 小时前
Scrape Webpack练习
开发语言·javascript·webpack
ZJH__GO11 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
程序员黑豆11 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光11 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
凤山老林11 小时前
Spring Boot @Async 线上实战:从默认配置到生产级线程池治理
java·spring boot·后端
命运之光11 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人12 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
marvelyu12 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库