基于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

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

    <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>

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值