当前位置: 首页 > news >正文

做logo的著名网站网站公司网站开发

做logo的著名网站,网站公司网站开发,2024新闻热点摘抄,wordpress app 加载慢文章目录 一、 项目前期准备1.数据库准备2.导入依赖3.pojo包处理4.dao包处理5.service包处理6.controller包处理7.加密工具类的使用8.页面文件的导入 总结 一、 项目前期准备 1.数据库准备 创建schedule_system数据库并执行如下语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHE… 文章目录 一、 项目前期准备1.数据库准备2.导入依赖3.pojo包处理4.dao包处理5.service包处理6.controller包处理7.加密工具类的使用8.页面文件的导入 总结 一、 项目前期准备 1.数据库准备 创建schedule_system数据库并执行如下语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- 创建日程表 -- ---------------------------- DROP TABLE IF EXISTS sys_schedule; CREATE TABLE sys_schedule (sid int NOT NULL AUTO_INCREMENT,uid int NULL DEFAULT NULL,title varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,completed int(1) NULL DEFAULT NULL,PRIMARY KEY (sid) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic; -- ---------------------------- -- 创建用户表 -- ---------------------------- DROP TABLE IF EXISTS sys_user; CREATE TABLE sys_user (uid int NOT NULL AUTO_INCREMENT,username varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,user_pwd varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (uid) USING BTREE,UNIQUE INDEX username(username) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic; -- ---------------------------- -- 插入用户数据 -- ---------------------------- INSERT INTO sys_user VALUES (1, zhangsan, e10adc3949ba59abbe56e057f20f883e); INSERT INTO sys_user VALUES (2, lisi, e10adc3949ba59abbe56e057f20f883e); SET FOREIGN_KEY_CHECKS 1;获得如下表格: 2.导入依赖 jar包位置 3.pojo包处理 在pojo包下创建实体类对象SysUser、SysSchedule实现序列化接口 使用lombok处理getter、setter、equals、hashcode 构造器 SysUser package com.fire.schedule.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;//TODO 使用lombok帮助我们生成getter、setter、equals、hashcode、全参构造、无参构造 AllArgsConstructor //添加了全参构造 NoArgsConstructor //添加了无参构造 Data //getter、setter、equals、hashcode、toString //TODO 创建实体类对象SysUser实现序列化接口 public class SysUser implements Serializable {private Integer uid;private String username;private String userPwd;} SysSchedule package com.fire.schedule.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;//TODO 使用lombok帮助我们生成getter、setter、equals、hashcode、全参构造、无参构造 AllArgsConstructor //添加了全参构造 NoArgsConstructor //添加了无参构造 Data //getter、setter、equals、hashcode、toString public class SysSchedule implements Serializable {private Integer sid;private Integer uid;private String title;private Integer completed;} 4.dao包处理 创建util包并在包下创建JDBCUtil连接池工具类 导入JDBCUtil连接池工具类并准备jdbc.properties配置文件 JDBCUtil package com.fire.schedule.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties;public class JDBCUtil {private static ThreadLocalConnection threadLocal new ThreadLocal();private static DataSource dataSource;// 初始化连接池static{// 可以帮助我们读取.properties配置文件Properties propertiesnew Properties();InputStream resourceAsStreamJDBCUtil.class.getClassLoader().getResourceAsStream(jdbc.properties);try {properties.load(resourceAsStream);dataSource DruidDataSourceFactory.createDataSource(properties); } catch (Exception e) {throw new RuntimeException(e);}}/*1 向外提供连接池的方法*/public static DataSource getDataSource(){return dataSource;}/*2 向外提供连接的方法*/public static Connection getConnection(){Connection connectionthreadLocal.get();if (nullconnection) {try {connection dataSource.getConnection();} catch (SQLException e) {throw new RuntimeException(e);}threadLocal.set(connection);}return connection;}/*定义一个归还连接的方法 (解除和ThreadLocal之间的关联关系) */public static void releaseConnection(){Connection connectionthreadLocal.get();if (null!connection) {threadLocal.remove();// 把连接设置回自动提交的连接try {connection.setAutoCommit(true);// 自动归还到连接池connection.close();} catch (SQLException e) {throw new RuntimeException(e);}}} }jdbc.properties配置文件 driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/schedule_system usernameroot passwordroot在dao包下创建BaseDao对象并复制如下代码 package com.fire.schedule.dao;import com.fire.schedule.util.JDBCUtil;import java.lang.reflect.Field; import java.sql.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List;public class BaseDao {// 公共的查询方法返回的是单个对象public T T baseQueryObject(ClassT clazz, String sql, Object... args) { T t null;Connection connection JDBCUtil.getConnection();PreparedStatement preparedStatement null;ResultSet resultSet null;int rows 0;try {// 准备语句对象preparedStatement connection.prepareStatement(sql);// 设置语句上的参数for (int i 0; i args.length; i) {preparedStatement.setObject(i 1, args[i]);}// 执行查询resultSet preparedStatement.executeQuery();if (resultSet.next()) {t (T) resultSet.getObject(1);}} catch (Exception e) {e.printStackTrace();} finally {if (null ! resultSet) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}}if (null ! preparedStatement) {try {preparedStatement.close();} catch (SQLException e) {e.printStackTrace();}}JDBCUtil.releaseConnection();}return t;}// 公共的查询方法返回的是对象的集合public T ListT baseQuery(Class clazz, String sql, Object... args) {ListT list new ArrayList();Connection connection JDBCUtil.getConnection();PreparedStatement preparedStatement null;ResultSet resultSet null;int rows 0;try {// 准备语句对象preparedStatement connection.prepareStatement(sql);// 设置语句上的参数for (int i 0; i args.length; i) {preparedStatement.setObject(i1,args[i]);}// 执行 查询resultSet preparedStatement.executeQuery();ResultSetMetaData metaData resultSet.getMetaData();int columnCount metaData.getColumnCount();// 将结果集通过反射封装成实体类对象while (resultSet.next()) {// 使用反射实例化对象Object obj clazz.getDeclaredConstructor().newInstance();for (int i 1; i columnCount; i) {String columnName metaData.getColumnLabel(i);Object value resultSet.getObject(columnName);// 处理datetime类型字段和java.util.Data转换问题if(value.getClass().equals(LocalDateTime.class)){value Timestamp.valueOf((LocalDateTime) value);}Field field clazz.getDeclaredField(columnName);field.setAccessible(true);field.set(obj,value);}list.add((T)obj);}} catch (Exception e) {e.printStackTrace();} finally {if (null !resultSet) {try {resultSet.close();} catch (SQLException e) {throw new RuntimeException(e);}}if (null ! preparedStatement) {try {preparedStatement.close();} catch (SQLException e) {throw new RuntimeException(e);}}JDBCUtil.releaseConnection();}return list;}// 通用的增删改方法public int baseUpdate(String sql,Object ... args) {// 获取连接Connection connection JDBCUtil.getConnection();PreparedStatement preparedStatementnull;int rows 0;try {// 准备语句对象preparedStatement connection.prepareStatement(sql);// 设置语句上的参数for (int i 0; i args.length; i) {preparedStatement.setObject(i1,args[i]);}// 执行 增删改 executeUpdaterows preparedStatement.executeUpdate();// 释放资源(可选)} catch (SQLException e) {e.printStackTrace();} finally {if (null ! preparedStatement) {try {preparedStatement.close();} catch (SQLException e) {throw new RuntimeException(e);}}JDBCUtil.releaseConnection();}// 返回的是影响数据库记录数return rows;} }创建dao层接口和所有实现类 接口SysUserDao、SysScheduleDao 实现类SysUserDaoImpl、SysScheduleDaoImpl 5.service包处理 创建dao层接口和所有实现类 接口SysUserService、SysScheduleService 实现类SysUserServiceImpl、SysScheduleServiceImpl 6.controller包处理 BaseController处理请求路径问题 package com.fire.schedule.controller;import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse;import java.io.IOException; import java.lang.reflect.Method;public class BaseController extends HttpServlet {Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String requestURI req.getRequestURI();String[] split requestURI.split(/);String methodName split[split.length-1];// 通过反射获取要执行的方法Class clazz this.getClass();try {Method methodclazz.getDeclaredMethod(methodName,HttpServletRequest.class,HttpServletResponse.class);// 设置方法可以访问method.setAccessible(true);// 通过反射执行代码method.invoke(this,req,resp);} catch (Exception e) {e.printStackTrace();}}}多个处理器继承BaseController UserController package com.fire.schedule.controller; import jakarta.servlet.annotation.WebServlet; WebServlet(/user/*) public class UserController extends BaseController{ }SysScheduleController package com.fire.schedule.controller; import jakarta.servlet.annotation.WebServlet; WebServlet(/schedule/*) public class SysScheduleController extends BaseController{ }7.加密工具类的使用 导入MD5Util工具类 package com.fire.schedule.util;import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;public final class MD5Util {public static String encrypt(String strSrc) {try {char hexChars[] { 0, 1, 2, 3, 4, 5, 6, 7, 8,9, a, b, c, d, e, f };byte[] bytes strSrc.getBytes();MessageDigest md MessageDigest.getInstance(MD5);md.update(bytes);bytes md.digest();int j bytes.length;char[] chars new char[j * 2];int k 0;for (int i 0; i bytes.length; i) {byte b bytes[i];chars[k] hexChars[b 4 0xf];chars[k] hexChars[b 0xf];}return new String(chars);} catch (NoSuchAlgorithmException e) {e.printStackTrace();throw new RuntimeException(MD5加密出错!!!);}} }8.页面文件的导入 将我们在日常管理1的html文件导入进来 日常管理1 总结 提示这里对文章进行总结 例如以上就是今天要讲的内容下节我们再来学习业务代码的开发处理
http://www.hkea.cn/news/14295494/

相关文章:

  • 青岛网页制作网站坪山网站建设资讯
  • 精选微信网站建设wordpress创建知识库
  • 用dw怎么做网站首页百度联盟申请
  • 江门网站建设设计seo应该如何做
  • 响应式网站模板 视差南京cms建站系统
  • 网页设计作品下载企业怎么做好网站优化
  • 网站空间每年继费到哪交代运营一个月多少钱
  • 服装商城网站源码c2c交易
  • 做装修工程找什么网站接单铝合金型材外发加工网
  • 微信链接网页网站制作安阳企业网站优化排名
  • 昌图门户网站用家庭宽带做网站
  • 烤漆 东莞网站建设厦门市建设局网站
  • 模板网站建设教程视频教程内网专线和外网专线区别
  • 自己做的网站实现扫码跳转系统设计
  • 单页淘客网站怎么建设网络营销推广方法是什么和什么的合理利用
  • 设计和建设企业网站心得和体会wordpress ide
  • 盐都区城乡建设局网站权威的合肥网站推广
  • 建网站数据库手机品牌排行榜
  • 东莞塘厦网站制作关键词推广优化外包
  • 抑郁症图片加时间生成器在线制作商丘seo快速排名
  • 网站建设技术方案网站官网
  • 网时 网站服务器租赁无限流量网站建设
  • 为什么网站目录不收录做外贸如何分析客户网站
  • 网站 当前时间 代码广州建立网站
  • 网站建设公司止一se0apache php mysql wordpress
  • 网站数据分析wordpress主题 qux
  • 网站系统建设开票要开什么手机自适应网站源码
  • 做炭化料的网站怎么做代理ip网站
  • 石林网站建设专业做网站咨询
  • 北京网站设计公司兴田德润放心文化墙 北京广告公司