1.导包

数据库驱动包

c3p0数据库池包 --CRDU

Servlet核心包

日志记录包

2.工具类的准备

JDBCUtil 数据库连接类

public class JDBCUtil {static ComboPooledDataSource dataSource = null;static {dataSource = new ComboPooledDataSource();}/*** 获取连接对象* @return* @throws SQLException */public static Connection getConn() throws SQLException {System.out.println("数据库连接成功");Connection conn = dataSource.getConnection();System.out.println("取得conn对象");return conn;}/*** 释放资源* @param conn* @param st* @param rs*/public static void release(Connection conn, Statement st, ResultSet rs) {closeRs(rs);closeSt(st);closeConn(conn);}public static void release(Connection conn, Statement st) {closeSt(st);closeConn(conn);}private static void closeRs(ResultSet rs) {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();} finally {rs = null;}}private static void closeSt(Statement st) {try {if (st != null) {st.close();}} catch (SQLException e) {e.printStackTrace();} finally {st = null;}}private static void closeConn(Connection conn) {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();} finally {conn = null;}}
}

网址生成类

/*** * @ClassName:  BasePath   * @Description:TODO(返回输入的网址)   * @author: kiko * @date:   2018年6月25日 上午9:36:55   *     * @Copyright: 2018*/
public class BasePath {/*** * @Title: getBasePath   * @Description: TODO(这里用一句话描述这个方法的作用)   * @param: @param request* @param: @return      * @return: String     返回类容 http://xxx/项目名称/* @throws*/public static String getBasePath(HttpServletRequest request) {String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":"+ request.getServerPort() + path;return basePath;}
}

利用过滤器解决中文乱码

/*** * @ClassName: EncodingFilter* @Description:TODO(处理中文错误过滤器)* @author: kiko* @date: 2018年6月23日 下午10:45:15* * @Copyright: 2018*/
/**  * 使用注解标注过滤器  (web.xml就无需配置)* @WebFilter将一个实现了javax.servlet.Filte接口的类定义为过滤器  * 属性filterName声明过滤器的名称,可选  * 属性urlPatterns指定要过滤 的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性)  */
@WebFilter(filterName = "EncodingFilter", urlPatterns = "/*") // 过滤设置
public class EncodingFilter implements Filter {@Overridepublic void init(FilterConfig FilterConfig) throws ServletException {System.out.println("过滤器开始工作");}@Overridepublic void doFilter(ServletRequest Request, ServletResponse Response, FilterChain Chain)throws IOException, ServletException {System.out.println("过滤器正在过滤");Request.setCharacterEncoding("utf-8");Chain.doFilter(Request, Response);Response.setCharacterEncoding("utf-8");}@Overridepublic void destroy() {System.out.println("过滤器结束工作");}}

验证工具类

/*** * @ClassName:  VakidateUtil   * @Description:TODO(验证工具类:数据是否为空,数据正则判断,两个数据是否相同)   * @author: kiko * @date:   2018年6月24日 下午1:19:45   *     * @Copyright: 2018*/
public class VakidateUtil {/*** * @Title: VakidateEmpty   * @Description: TODO(验证输入数据是否为空)   * @param: @param data 字符串* @param: @return      * @return: boolean    如果不是null 返回true  * @throws*/public static boolean VakidateNoEmpty(String data) {if (data == null || "".equals(data)) {return false;}return true;}/*** * @Title: VakidateRegex   * @Description: TODO(验证正则)   * @param: @param data    字符串* @param: @param regex 正则表达式* @param: @return      * @return: boolean      符合正则返回true* @throws*/public static boolean VakidateRegex(String data, String regex) {if (VakidateNoEmpty(data)) {return data.matches(regex);}return false;}/*** * @Title: Vakidatesame   * @Description: TODO(验证数据是否相同,不区分大小写)   * @param: @param data1* @param: @param data2* @param: @return      * @return: boolean  相同返回true * @throws*/public static boolean Vakidatesame(String data1, String data2) {if (VakidateNoEmpty(data1) && VakidateNoEmpty(data2)) {return data1.equalsIgnoreCase(data2);}return false;}
}

MD5生成工具类

/*** * @ClassName:  MD5Code   * @Description:TODO(MD5生成工具类)   * @author: kiko * @date:   2018年6月23日 下午4:44:42   *     * @Copyright: 2018* apache commones Codec包中有常用的一些加密算法实现*/
public class MD5Code {/** 16进制的字符数组 */private final static String[] hexDigits ={"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};/*** * * @param source*            需要加密的字符串* @return  result MD5加密后的字符串*/public static String MD5Encode(String source) {String result = null;try {result = source;// 获得MD5对象MessageDigest messageDigest = MessageDigest.getInstance("MD5");// 使用指定的字节数组更新摘要信息messageDigest.update(result.getBytes("UTF-8"));// messageDigest.digest()获得16位长度result = byteArrayToHexString(messageDigest.digest());} catch (Exception e) {e.printStackTrace();}return result;}/*** 转换字节数组为16进制字符串* * @param bytes  字节数组*            * @return  16进制的字符串*/private static String byteArrayToHexString(byte[] bytes) {StringBuilder stringBuilder = new StringBuilder();for (byte tem : bytes) {stringBuilder.append(byteToHexString(tem));}return stringBuilder.toString();}/*** 将一个字节转换为16进制的字符串* * @param b  要转换的byte *           * @return 16进制对应的字符*/private static String byteToHexString(byte b) {int n = b;if (n < 0) {n = 256 + n;}int d1 = n / 16;int d2 = n % 16;return hexDigits[d1] + hexDigits[d2];}

JAVAWeb项目 微型商城项目-------(三)导包及工具类的准备相关推荐

  1. Idea一键自动导包设置--导入类中所有包?教你自动更新类中包含的包

    在日常的拷贝复用代码中,导包的重复性工作非常繁琐,在这里分享一个idea设置. 动态效果演示: Idea一键自动导包设置--导入类中所有包?教你自动更新类中包含的包 操作步骤: File-->S ...

  2. java.lang包有哪些类_Java中Lang包的工具类有哪些

    Java中Lang包的工具类有哪些 发布时间:2020-12-08 16:15:36 来源:亿速云 阅读:76 作者:Leah 今天就跟大家聊聊有关Java中Lang包的工具类有哪些,可能很多人都不太 ...

  3. 「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

    我的想法很简单,就是做一个大家都能运行的商城项目,而不是缺胳膊少腿的项目,不求有多么完善,也不求有多少技术栈,我目前的想法就是大家都可以运行它.使用它,至于完善它嘛,给我点时间哈. 本项目开源地址: ...

  4. 基于SpringBoot的项目:商城项目

    1)该博客内容为B站UP主的免费课程,想直接学习该视频的可以点击:传送门.这位老师讲解得很细致. 2)该课程的文档和源码的下载链接为:传送门. 3)本文博客的markdown资源的下载链接为:传送门. ...

  5. java byte 拓展_Java项目中如何扩展第三方jar包中的类?

    有些时候你对第三方得到jar包中的类并不是很满意,想根据实际情况做一些扩展.如果说第三方的jar包已经提供了一些可扩展的类,比如提供了Interceptor,Filter或者其他的类,那么使用原生的比 ...

  6. SpringBoot项目电脑商城项目实战(适合刚学完SpringBoot的初学者)

    今天来分享一个SpringBoot项目,该项目是哔哩哔哩袁庭新老师讲的springboot电脑商城项目,里面的东西涉及到很多基础,统一异常处理,统一结果集返回,登录注册,上传文件等. 另外项目里使用的 ...

  7. 客快物流大数据项目(五十六): 编写SparkSession对象工具类

    编写SparkSession对象工具类 后续业务开发过程中,每个子业务(kudu.es.clickhouse等等)都会创建SparkSession对象,以及初始化开发环境,因此将环境初始化操作封装成工 ...

  8. Apache Commons包 StringUtils工具类深入整理(转载)

    [转载地址]:cnblogs.com/sealy321/p/10227131.html 字符串是在程序开发中最常见的,Apache Commons开源项目在org.apache.commons.lan ...

  9. collectionutils包_CollectionUtils工具类的常用方法

    CollectionUtils在真实项目中,是一个非常好用的工具类,使用非常频繁.它可以使代码更加简洁和安全.刚好在工作中利用这个工具类重构代码,顺便总结下分享分享: 并集 @Test public ...

  10. java jdbc工具类抽取_JavaWeb入门(三):JDBC工具类的抽取

    一.通过上篇文章,我们已经可以使用JDBC对数据库中的表进行增删改查啦(JDBC的基本使用:https://www.cnblogs.com/Infancy/p/12499806.html),我们对上篇 ...

最新文章

  1. fsum函数测试以及分析
  2. java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?
  3. 网站优化之如何才能防止域名被恶意指向?
  4. Leetcode 189. 旋转数组 (每日一题 20210909)
  5. P4316 绿豆蛙的归宿 期望dp + DAG
  6. 《编程之美》1.9:高效率的安排见面会的一个解法
  7. python函数回顾:abs()
  8. qtcreator中常用快捷键总结
  9. 【论文解读】UniLM:一种既能阅读又能自动生成的预训练模型
  10. [RMQ] [线段树] POJ 3368 Frequent Values
  11. AutoCAD2020线型比例修改
  12. cvEqualizeHist() 直方图均衡化(单通道)
  13. java可以进行爬虫吗_java能写爬虫程序吗
  14. java设计文件查重,【java】查重类的实现
  15. 什么是d.ts文件,它是不是typescript文件?
  16. HDU-1567-A/B——算法笔记
  17. CC2530模块进行ZigBee实验小结
  18. 2021年南非经济发展研究报告
  19. S7-1200PLC 基于以太网的TCP通信
  20. iphonex正面图_iPhoneX高清全方位图赏

热门文章

  1. SCCM部署前的IIS、WSUS等准备
  2. hive Beeline plus HiveServer2简单使用
  3. Windows下Node.js安装Canvas插件
  4. matlab linux 中文显示问题解决办法
  5. 阻止系统自动睡眠的小软件,附C#制作过程
  6. 7.企业安全建设入门(基于开源软件打造企业网络安全) --- 蜜罐与攻击欺骗
  7. 7. PHP Xhprof
  8. 16.PHP脚本的执行
  9. php中的几个判断文件和目录的函数 is_file() is_dir() mkdir() file_exists()
  10. svn对项目权限进行管理