基于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>
相关推荐
学java的小菜鸟啊12 分钟前
第五章 网络编程 TCP/UDP/Socket
java·开发语言·网络·数据结构·网络协议·tcp/ip·udp
zheeez16 分钟前
微服务注册中⼼2
java·微服务·nacos·架构
立黄昏粥可温16 分钟前
Python 从入门到实战22(类的定义、使用)
开发语言·python
PerfMan19 分钟前
基于eBPF的procstat软件追踪程序垃圾回收(GC)事件
linux·开发语言·gc·ebpf·垃圾回收·procstat
程序员-珍19 分钟前
SpringBoot v2.6.13 整合 swagger
java·spring boot·后端
徐*红27 分钟前
springboot使用minio(8.5.11)
java·spring boot·spring
聆听HJ27 分钟前
java 解析excel
java·开发语言·excel
溪午闻璐31 分钟前
C++ 文件操作
开发语言·c++
AntDreamer31 分钟前
在实际开发中,如何根据项目需求调整 RecyclerView 的缓存策略?
android·java·缓存·面试·性能优化·kotlin
java_heartLake36 分钟前
设计模式之建造者模式
java·设计模式·建造者模式