项目学习---Javaweb(超市订单管理系统)

知识点

MVC模型:
实现步骤:分为3级
1.M(Model) 持久层 代码与数据库进行交互的代码(Mybatis-dao层)
2.C(Control) 控制层 完成某项业务的具体操作过程(Controller层----Service层)
3.V(View) 视图层 一般指用户看到的内容(页面)

项目目录

.filter   //过滤器 解决中文字符集乱码√
.util     //数据库连接工具类√
.pojo   //实体类√
.dao      //数据操作类√-------M数据访问层
.servlet   //servlet类√
service层:服务层√

1.数据库

2.filter下新建一个EncodingFilter用来解决中文字符集乱码

3.web.xml下进行对EncodingFilter相应的配置

4.在util下新建一个类用来处理对数据库的连接操作

5.在pojo下新建一个Provider实体类

pojo---provider

package com.baidou.pojo;import java.util.Date;/*** 供应商实体类*/
public class Provider {private Integer id;   //idprivate String proCode; //供应商编码private String proName; //供应商名称private String proDesc; //供应商描述private String proContact; //供应商联系人private String proPhone; //供应商电话private String proAddress; //供应商地址private String proFax; //供应商传真private Integer createdBy; //创建者private Date creationDate; //创建时间private Integer modifyBy; //更新者private Date modifyDate;//更新时间public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getProCode() {return proCode;}public void setProCode(String proCode) {this.proCode = proCode;}public String getProName() {return proName;}public void setProName(String proName) {this.proName = proName;}public String getProDesc() {return proDesc;}public void setProDesc(String proDesc) {this.proDesc = proDesc;}public String getProContact() {return proContact;}public void setProContact(String proContact) {this.proContact = proContact;}public String getProPhone() {return proPhone;}public void setProPhone(String proPhone) {this.proPhone = proPhone;}public String getProAddress() {return proAddress;}public void setProAddress(String proAddress) {this.proAddress = proAddress;}public String getProFax() {return proFax;}public void setProFax(String proFax) {this.proFax = proFax;}public Integer getCreatedBy() {return createdBy;}public void setCreatedBy(Integer createdBy) {this.createdBy = createdBy;}public Date getCreationDate() {return creationDate;}public void setCreationDate(Date creationDate) {this.creationDate = creationDate;}public Integer getModifyBy() {return modifyBy;}public void setModifyBy(Integer modifyBy) {this.modifyBy = modifyBy;}public Date getModifyDate() {return modifyDate;}public void setModifyDate(Date modifyDate) {this.modifyDate = modifyDate;}}

5.在dao下新建一个ProviderDao接口  以及对应的方法实现类(使用接口类是为了规范开发)

dao---provider---ProviderDao

package com.baidou.dao.provider;import com.baidou.pojo.Provider;import java.sql.Connection;
import java.util.List;public interface ProviderDao {//增加供应商public int add(Connection connection, Provider provider)throws Exception;// 通过供应商名称、编码获取供应商列表-模糊查询-providerListpublic List<Provider> getProviderList(Connection connection, String proName, String proCode)throws Exception;//通过proId删除Providerpublic int deleteProviderById(Connection connection, String delId)throws Exception;//通过proId获取Providerpublic Provider getProviderById(Connection connection, String id)throws Exception;//修改用户信息public int modify(Connection connection, Provider provider)throws Exception;}

6.新建ProviderDaoImpl.java     实现ProviderDao接口,及未实现的方法 

dao---provider---ProviderDaoimpl

package com.baidou.dao.provider;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import com.baidou.dao.BaseDao;
import com.baidou.pojo.Provider;
import com.mysql.jdbc.StringUtils;/*** Provider数据持久层*/
public class ProviderDaoImpl implements ProviderDao {//添加供应商public int add(Connection connection, Provider provider)throws Exception {// TODO Auto-generated method stubPreparedStatement pstm = null;int flag = 0;if(null != connection){String sql = "insert into smbms_provider (proCode,proName,proDesc," +"proContact,proPhone,proAddress,proFax,createdBy,creationDate) " +"values(?,?,?,?,?,?,?,?,?)";Object[] params = {provider.getProCode(),provider.getProName(),provider.getProDesc(),provider.getProContact(),provider.getProPhone(),provider.getProAddress(),provider.getProFax(),provider.getCreatedBy(),provider.getCreationDate()};flag = BaseDao.execute(connection, pstm, sql, params);BaseDao.closeResource(null, pstm, null);}return flag;}//通过条件查询获取供应商列表public List<Provider> getProviderList(Connection connection, String proName,String proCode)throws Exception {// TODO Auto-generated method stubPreparedStatement pstm = null;ResultSet rs = null;List<Provider> providerList = new ArrayList<Provider>();if(connection != null){StringBuffer sql = new StringBuffer();sql.append("select * from smbms_provider where 1=1 ");List<Object> list = new ArrayList<Object>();if(!StringUtils.isNullOrEmpty(proName)){sql.append(" and proName like ?");list.add("%"+proName+"%");}if(!StringUtils.isNullOrEmpty(proCode)){sql.append(" and proCode like ?");list.add("%"+proCode+"%");}Object[] params = list.toArray();System.out.println("sql ----> " + sql.toString());rs = BaseDao.execute(connection, pstm, rs, sql.toString(), params);while(rs.next()){Provider _provider = new Provider();_provider.setId(rs.getInt("id"));_provider.setProCode(rs.getString("proCode"));_provider.setProName(rs.getString("proName"));_provider.setProDesc(rs.getString("proDesc"));_provider.setProContact(rs.getString("proContact"));_provider.setProPhone(rs.getString("proPhone"));_provider.setProAddress(rs.getString("proAddress"));_provider.setProFax(rs.getString("proFax"));_provider.setCreationDate(rs.getTimestamp("creationDate"));providerList.add(_provider);}BaseDao.closeResource(null, pstm, rs);}return providerList;}//删除供应商信息public int deleteProviderById(Connection connection, String delId)throws Exception {// TODO Auto-generated method stubPreparedStatement pstm = null;int flag = 0;if(null != connection){String sql = "delete from smbms_provider where id=?";Object[] params = {delId};flag = BaseDao.execute(connection, pstm, sql, params);BaseDao.closeResource(null, pstm, null);}return flag;}//通过id获取供应商public Provider getProviderById(Connection connection, String id)throws Exception {// TODO Auto-generated method stubProvider provider = null;PreparedStatement pstm = null;ResultSet rs = null;if(null != connection){String sql = "select * from smbms_provider where id=?";Object[] params = {id};rs = BaseDao.execute(connection, pstm, rs, sql, params);if(rs.next()){provider = new Provider();provider.setId(rs.getInt("id"));provider.setProCode(rs.getString("proCode"));provider.setProName(rs.getString("proName"));provider.setProDesc(rs.getString("proDesc"));provider.setProContact(rs.getString("proContact"));provider.setProPhone(rs.getString("proPhone"));provider.setProAddress(rs.getString("proAddress"));provider.setProFax(rs.getString("proFax"));provider.setCreatedBy(rs.getInt("createdBy"));provider.setCreationDate(rs.getTimestamp("creationDate"));provider.setModifyBy(rs.getInt("modifyBy"));provider.setModifyDate(rs.getTimestamp("modifyDate"));}BaseDao.closeResource(null, pstm, rs);}return provider;}//修改供应商信息public int modify(Connection connection, Provider provider)throws Exception {// TODO Auto-generated method stubint flag = 0;PreparedStatement pstm = null;if(null != connection){String sql = "update smbms_provider set proName=?,proDesc=?,proContact=?," +"proPhone=?,proAddress=?,proFax=?,modifyBy=?,modifyDate=? where id = ? ";Object[] params = {provider.getProName(),provider.getProDesc(),provider.getProContact(),provider.getProPhone(),provider.getProAddress(),provider.getProFax(),provider.getModifyBy(),provider.getModifyDate(),provider.getId()};flag = BaseDao.execute(connection, pstm, sql, params);BaseDao.closeResource(null, pstm, null);}return flag;}}

7.在servlet下创建ProviderServlet用来实现对供应商登录的操作

package com.baidou.servlet.provider;import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSONArray;
import com.baidou.pojo.Provider;
import com.baidou.pojo.User;
import com.baidou.service.provider.ProviderService;
import com.baidou.service.provider.ProviderServiceImpl;
import com.baidou.util.Constants;
import com.mysql.jdbc.StringUtils;/*** 供应商Controller,实现servlet复用*/
public class ProviderServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//通过路由调用相应的业务String method = request.getParameter("method");System.out.println("method--->" + method);if (method != null && method.equals("query")) {this.query(request, response);} else if (method != null && method.equals("add")) {this.add(request, response);} else if (method != null && method.equals("view")) {this.getProviderById(request, response, "providerview.jsp");} else if (method != null && method.equals("modify")) {this.getProviderById(request, response, "providermodify.jsp");} else if (method != null && method.equals("modifysave")) {this.modify(request, response);} else if (method != null && method.equals("delprovider")) {this.delProvider(request, response);}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);}/*** 删除供应商信息** @param request* @param response* @throws ServletException* @throws IOException*/private void delProvider(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String id = request.getParameter("proid");HashMap<String, String> resultMap = new HashMap<String, String>();if (!StringUtils.isNullOrEmpty(id)) {ProviderService providerService = new ProviderServiceImpl();int flag = providerService.deleteProviderById(id);if (flag == 0) {//删除成功resultMap.put("delResult", "true");} else if (flag == -1) {//删除失败resultMap.put("delResult", "false");} else if (flag > 0) {//该供应商下有订单,不能删除,返回订单数resultMap.put("delResult", String.valueOf(flag));}} else {resultMap.put("delResult", "notexit");}//把resultMap转换成json对象输出response.setContentType("application/json");PrintWriter outPrintWriter = response.getWriter();outPrintWriter.write(JSONArray.toJSONString(resultMap));outPrintWriter.flush();outPrintWriter.close();}/*** 修改供应商信息** @param request* @param response* @throws ServletException* @throws IOException*/private void modify(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String proContact = request.getParameter("proContact");String proPhone = request.getParameter("proPhone");String proAddress = request.getParameter("proAddress");String proFax = request.getParameter("proFax");String proDesc = request.getParameter("proDesc");String id = request.getParameter("id");Provider provider = new Provider();provider.setId(Integer.valueOf(id));provider.setProContact(proContact);provider.setProPhone(proPhone);provider.setProFax(proFax);provider.setProAddress(proAddress);provider.setProDesc(proDesc);provider.setModifyBy(((User) request.getSession().getAttribute(Constants.USER_SESSION)).getId());provider.setModifyDate(new Date());boolean flag = false;ProviderService providerService = new ProviderServiceImpl();flag = providerService.modify(provider);if (flag) {response.sendRedirect(request.getContextPath() + "/jsp/provider.do?method=query");} else {request.getRequestDispatcher("providermodify.jsp").forward(request, response);}}/*** 通过id获取供应商** @param request* @param response* @param url* @throws ServletException* @throws IOException*/private void getProviderById(HttpServletRequest request, HttpServletResponse response, String url)throws ServletException, IOException {String id = request.getParameter("proid");System.out.println("id-->" + id);Provider provider = null;if (!StringUtils.isNullOrEmpty(id)) {ProviderService providerService = new ProviderServiceImpl();provider = providerService.getProviderById(id);request.setAttribute("provider", provider);request.getRequestDispatcher(url).forward(request, response);}}/*** 添加供应商** @param request* @param response* @throws ServletException* @throws IOException*/private void add(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {boolean flag = false;String proCode = request.getParameter("proCode");String proName = request.getParameter("proName");String proContact = request.getParameter("proContact");String proPhone = request.getParameter("proPhone");String proAddress = request.getParameter("proAddress");String proFax = request.getParameter("proFax");String proDesc = request.getParameter("proDesc");Provider provider = new Provider();provider.setProCode(proCode);provider.setProName(proName);provider.setProContact(proContact);provider.setProPhone(proPhone);provider.setProFax(proFax);provider.setProAddress(proAddress);provider.setProDesc(proDesc);provider.setCreatedBy(((User) request.getSession().getAttribute(Constants.USER_SESSION)).getId());provider.setCreationDate(new Date());ProviderService providerService = new ProviderServiceImpl();flag = providerService.add(provider);if (flag) {response.sendRedirect(request.getContextPath() + "/jsp/provider.do?method=query");} else {request.getRequestDispatcher("provideradd.jsp").forward(request, response);}}/*** 获取供应商列表** @param request* @param response* @throws ServletException* @throws IOException*/private void query(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String queryProName = request.getParameter("queryProName");String queryProCode = request.getParameter("queryProCode");if (StringUtils.isNullOrEmpty(queryProName)) {queryProName = "";}if (StringUtils.isNullOrEmpty(queryProCode)) {queryProCode = "";}List<Provider> providerList = new ArrayList<Provider>();ProviderService providerService = new ProviderServiceImpl();providerList = providerService.getProviderList(queryProName, queryProCode);request.setAttribute("providerList", providerList);request.setAttribute("queryProName", queryProName);request.setAttribute("queryProCode", queryProCode);request.getRequestDispatcher("providerlist.jsp").forward(request, response);}}

有两点要注意的地方:

一:getParameter与getAttribute两者的区别

request.setAttribute("xiaoxi", "欢迎用户"+name);//向request域中放置信息 ( 键值对的形式)  名字为xiaoxi  内容为"欢迎用户"+name

request.getAttribute("xiaoxi");//得到request域中放置名字为xiaoxi的信息

request.getParameter("name");//得到request域的参数信息(得到jsp页面传过来的参数)

getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 。

getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter),而且接收参数返回的不是Object,而是String类型

二:转发与重定向的区别

(1).重定向的执行过程:Web服务器向浏览器发送一个http响应--》浏览器接受此响应后再发送一个新的http请求到服务器--》服务器根据此请求寻找资源并发送给浏览器。它可以重定向到任意URL,不能共享request范围内的数据。
(2).重定向是在客户端发挥作用,通过新的地址实现页面转向。
(3).重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址。
(4).转发过程:Web服务器调用内部方法在容器内部完成请求和转发动作--》将目标资源发送给浏览器,它只能在同一个Web应用中使用,可以共享request范围内的数据。
(5).转发是在服务器端发挥作用,通过forward()方法将提交信息在多个页面间进行传递。
(6).转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址。
————————————————

                            如果本篇文章帮到了你,兄台何不留个言再走?什么!不想留言?不想留言也要点个赞吗,也算是缘分一场......什么!赞都不想点?管理员拿我的三十米大刀来!【左侧点击关注按钮,精彩好文不容错过】
                        
原文链接:https://blog.csdn.net/qq_23994787/article/details/73612870

8.配置servlet在web.xml

9.新建jsp页面

webapp---jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@include file="/jsp/common/head.jsp"%><div class="right"><div class="location"><strong>你现在所在的位置是:</strong><span>供应商管理页面 >> 供应商添加页面</span></div><div class="providerAdd"><form id="providerForm" name="providerForm" method="post" action="${pageContext.request.contextPath }/jsp/provider.do"><input type="hidden" name="method" value="add"><!--div的class 为error是验证错误,ok是验证成功--><div class=""><label for="proCode">供应商编码:</label><input type="text" name="proCode" id="proCode" value=""> <!-- 放置提示信息 --><font color="red"></font></div><div><label for="proName">供应商名称:</label><input type="text" name="proName" id="proName" value=""> <font color="red"></font></div><div><label for="proContact">联系人:</label><input type="text" name="proContact" id="proContact" value=""> <font color="red"></font></div><div><label for="proPhone">联系电话:</label><input type="text" name="proPhone" id="proPhone" value=""> <font color="red"></font></div><div><label for="proAddress">联系地址:</label><input type="text" name="proAddress" id="proAddress" value=""> </div><div><label for="proFax">传真:</label><input type="text" name="proFax" id="proFax" value=""> </div><div><label for="proDesc">描述:</label><input type="text" name="proDesc" id="proDesc" value=""> </div><div class="providerAddBtn"><input type="button" name="add" id="add" value="保存"><input type="button" id="back" name="back" value="返回" ></div></form></div>
</div>
</section>
<%@include file="/jsp/common/foot.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/provideradd.js"></script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【绝对有用】c++线程池相关技术点一

1.这段代码是在 C 中创建多个线程并启动它们。让我们逐步解析每个部分&#xff1a; for (size_t i 0; i < threadCount; i) {: • 这是一个 for 循环&#xff0c;从 i 0 开始&#xff0c;一直执行到 i 小于 threadCount 的时候。i 表示每次循环后将 i 加 1。threads.empl…

4、多分支判断 - 课件

一、基础知识 多分支判断的基本语法可以表示为: if (判断条件1) {// 如果判断条件1为真,执行这里的代码 } else if (判断条件2) {// 如果判断条件1为假且判断条件2为真,执行这里的代码 } else if (判断条件3) {// 如果判断条件1和判断条件2都为假且判断条件3为真,执行这里的代…

眼动研究实验设计方法

摘要 本文对基于实验室的眼动实验设计进行了总体回顾&#xff0c;并侧重于回顾实验程序和方法&#xff0c;从而为眼动追踪实验提供一个框架或背景。本文内容涵盖了基本的实验设计&#xff0c;这与实验心理学课本没有太大的区别&#xff0c;其中析因设计在眼动追踪研究中特别受…

day02 CSS基础

目录 CSS介绍 CSS使用方式 内联方式 内部样式表 外部样式表 CSS特性 优先级 选择器 元素选择器 id选择器 类选择器 派生选择器 子选择器 属性选择器 首个子元素 指定元素选择器 伪类选择器 文本 字体 列表 表格 背景 鼠标 border 宽高 box模型 元素水…

SpringCloudAlibaba组件集成

SpringCloudAlibaba组件集成 Nacos服务注册与发现 1.Nacos认识与安装 1.1.什么是Nacos Nacos和Eureka有着相同的能力&#xff0c;甚至更为强大&#xff0c;作为Dubbo 生态系统中重要的注册中心实现。官方对它有如下定义&#xff1a; Nacos致力于帮助您发现&#xff0c;配置…

查看mysql数据库端口号

在MySQL中&#xff0c;可以通过多种方式查看数据库服务器的端口号。以下是一些常见的方法&#xff1a; 1. 使用MySQL配置文件 MySQL服务器的端口号通常在配置文件中设置。在Linux系统上&#xff0c;这个配置文件通常是/etc/my.cnf、/etc/mysql/my.cnf&#xff0c;或者在/etc/…

Java+Angular+Nginx+RESTful API 医院云HIS系统源码 全国中小型诊所都在用的诊所his系统门诊业务流程 自主版权

JavaAngularNginxRESTful API 医院云HIS系统源码 全国中小型诊所都在用的诊所his系统门诊业务流程 自主版权 HIS系统&#xff08;Hospital Information System&#xff09;在门诊业务中的应用带来了许多显著的优势&#xff0c;这些优势不仅提高了医疗服务的质量和效率&#xf…

centos8 安装python3、pip、pyinstall

centos8安装python3 安装python3&#xff1a;https://www.cnblogs.com/qq931399960/p/11664594.html bash # 步骤&#xff1a;1、输入python3看有没有 # 2、使用yum -y install python 安装 # 3、指定版本安装&#xff1a;yum -y install python39 [rootlocalhost ~]# python…

Zookeeper:启动占用8080端口

zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动&#xff0c;也会占用8080 端口。 通过查看zookeeper的官方文档&#xff0c;发现有3种解决途径&#xff1a; &#xff08;1&#xff09;.删除jetty。 &#xff08;2&#xff09;修改端口。 一种是在启动脚本中增加…

【linux】操作系统使用wget下载网络文件,内核tcpv4部分运行日志

打印日志代码及运行日志(多余日志被删除了些)&#xff1a; 登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/commit/55a53caa06c1472398fac30113c9731cb9e3b482 测试步骤和手段&#xff1a; 1、清空 kern.log&#xff1b; 2、使用wget 下载linux-6.9.tar.gz&…

切割游戏介绍

简介 上大学时&#xff0c;在学校实验室里玩过一个貌似使用VC写的小游戏&#xff0c;一个小球在界面上四处游荡&#xff0c;玩家使用鼠标切割背景&#xff0c;将背景切割剩余到一定的百分比后&#xff0c;就胜利了&#xff0c;后边的背景图会全部展示出来。 使用qt的qml技术&a…

初始化一个Android项目时,Android Studio会自动生成一些文件和目录结构,以帮助你快速上手开发

当你初始化一个Android项目时&#xff0c;Android Studio会自动生成一些文件和目录结构&#xff0c;以帮助你快速上手开发。这些文件和目录各自有其特定的功能和用途。下面我为你解释一下这些自动生成的内容&#xff1a; 1. app 目录 这是你的应用模块的根目录&#xff0c;包…

django学习入门系列之第二点《浏览器能识别的标签1》

文章目录 文件的编码(head)网站表头信息(head)标题&#xff08;body&#xff09;div和span往期回顾 文件的编码(head) <!--浏览器会以"UTF-8"这种编码来读取文件--> <meta charset"UTF-8">网站表头信息(head) <title>Title</title&…

使用 Iceberg、Tabular 和 MinIO 构建现代数据架构

现代数据环境需要一种新型的基础架构&#xff0c;即无缝集成结构化和非结构化数据、轻松扩展并支持高效的 AI/ML 工作负载的基础架构。这就是现代数据湖的用武之地&#xff0c;它为您的所有数据需求提供了一个中心枢纽。然而&#xff0c;构建和管理有效的数据湖可能很复杂。 这…

为何选择企业微信作为私域运营的首选工具?

随着数字化营销的不断深入&#xff0c;私域流量的价值愈发凸显。在众多的私域运营工具中&#xff0c;企业微信凭借其独特的功能和优势&#xff0c;逐渐成为了众多企业的首选。本文将详细阐述为何选择企业微信作为私域运营的首选工具&#xff0c;并从多个维度进行对比分析。 一…

总台,地方卫视媒体邀约新闻报道采访怎么做?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 总台对选题要求非常严格&#xff0c;在想做总台新闻报道之前&#xff0c;让我们先来了解下总台对新闻选题有哪些要求&#xff1a; 一、新闻价值 社会意义&#xff1a;新闻报道的首要任务…

【CHIP】LTC2991 读取温度电压电流 调试实例

文章目录 0. ENV1. LTC2991 数据说明1. 数据计算公式2. 寄存器概述1. 管脚使能寄存器2. 芯片使能寄存器 2. 软件实现1. 概述2. 源码(部分)3. 参考log 0. ENV 软件系统&#xff1a;略 LTC2991&#xff1a;VCC3.3 温度&#xff1a;温控接v1-v2 / v2-v3 / … (双端采样)电压&#…

C#面:C# 类的执行顺序?

C# 类的执行顺序可以分为以下几个步骤&#xff1a; 静态字段初始化&#xff1a;在类的第一次使用之前&#xff0c;静态字段会被初始化。静态字段的初始化顺序是按照它们在代码中的声明顺序进行的。静态构造函数&#xff1a;如果类中定义了静态构造函数&#xff0c;它会在类的第…

QT工作笔记

文章目录 QDialog的accept()和reject()介绍QPushButton提示属性样式表QComboBox QDialog的accept()和reject()介绍 accept() 和reject() 这两个槽函数都会和close() 一样关闭dialogaccept() 关闭后 返回了Dialog::Acceptedreject() 关闭后 返回了Dialog::Rejected这样当我们需…

Eclipse项目导入笔记大全踩坑大全

文章目录 关于Eclipse启动Tomcat时报错Error: Could not create the Java Virtual MachineWEB-INF/lib/servlet-api.jar not loadedresourcemanager java.lang.ClassNotFoundException: javax.activation.DataSourceEclipse怎么配置jdk在eclipse上配置tomcat&#xff08;包括解…