技术支持:JAVA、JSP
编程软件: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博客
目前我们讲完了主页①②③④这些功能
当我们准备说对购物车结算时,便会出现支付成功的弹框(简化做了支付功能)
而我们支付完成后,点击左下角历史清单,我们就可以知道我们支付过的账单。
刚刚的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();
}
}
这段代码的功能是用于处理从客户端提交过来的总金额数据,并将其存储到数据库中。
-
获取请求参数:
- 通过
request.getParameter("total")
获取名为 "total" 的请求参数,这里假设客户端提交了一个名为 "total" 的数据,表示总金额。
- 通过
-
设置响应内容类型:
- 使用
response.setContentType("text/html;charset=utf-8")
设置响应的内容类型为HTML,并指定字符编码为UTF-8。
- 使用
-
创建DAO对象和实体对象:
- 实例化
StudentDAO
类对象dao
,用于执行数据库操作。 - 实例化
Total
类对象e1
,用于存储从请求参数中获取的总金额数据。
- 实例化
-
处理总金额数据:
- 使用
Double.parseDouble(total)
将获取的总金额字符串转换为double
类型,并设置到e1
对象中的total
属性中。
- 使用
-
数据库操作:
- 调用
dao.totalprice(e1)
方法,将e1
中的总金额数据存储到数据库中。这里假设totalprice
方法是StudentDAO
类中的一个方法,用于将总金额数据持久化到数据库中。
- 调用
-
异常处理:
- 使用
try-catch
块捕获可能抛出的异常。如果出现异常,打印异常堆栈信息,并向客户端输出简单的错误信息:"系统繁忙,请稍后再试!"。
- 使用
-
关闭输出流:
- 在最后关闭输出流
out
,释放资源。
- 在最后关闭输出流
-
重定向:
- 最后调用
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>