idea conf文件_JavaWe商品项目保姆级解析IDEA版(配置篇)
1
首先这里我创建的工程是Maven工程(需要在磁盘中解压MAVEN,然后配置MAVEN的环境变量)
一、 先去maven官网:http://maven.apache.org/download.cgi#下载压缩包,下拉页面可以看到好多版本,注意下载的版本版本后面是带.zip的:apache-maven-3.5.4-bin.zip,点击下载即可。
配置环境变量
一丶右键此电脑,点击属性
二丶选择高级系统设置
三丶点击环境变量
四丶添加一个新的系统变量MAVEN_HOME
变量值是你MAVEN解压的目录
五丶点击新建输入%MAVEN_HOME%\bin
六丶点击确定后打开cmd,输入svn -v 注:(-v前面有个空格)
提示JDK版本,环境变量就配置好了
然后我们还需要创建一个文件夹,也就是本地仓库(本地储存jar包的仓库)
D:\Program Files\Maven.m2\repository
我是建立在Maven3.6.3同一级别.m2\repository
1.先创建一个.m2的文件夹
2.然后在该文件夹中在创建一个repository文件夹
3.找到settings文件在配置文件中添加本地仓库的地址
apache-maven-3.6.3----->conf----->settings
在图中位置添加
D:\Program Files\Maven.m2\repository
代码注意标签里面的地址一定要是你自己磁盘创建的
4.找到mirrors标签
在标签中添加
aliyunmaven
*
阿里云公共仓库
https://maven.aliyun.com/repository/public
1
2
3
4
5
6
7
代码 这个是阿里云公共仓库的地址,直接能从国内下载jar包
在IDEA中设置MAVEN
1.File----->Settings----->Build,Execcution,Deployment----->Build Tools----->Maven
2.设置Maven的地址和继承的本地仓库配置
3.File----->New Projects Settings----->Settings for new Projects
这里的配置跟上面一样也就是创建一个新的项目时保留该配置
创建IDEA项目
一丶File----->new----->project
二丶选择Maven模板
1.选中从原型中构建一个模板
2.选择web模板 然后点击下一步
点击finish就创建好一个maven项目了
然后我们需要配置pom.xml文件,通过坐标导入javaWeb需要的jar包
Apache Commons BeanUtils » 1.9.4Apache Commons BeanUtils为反射和自省提供了一个易于使用但灵活的包装器。<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.4</version></dependency>Servlet的核心依赖包<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><!--jstljar包,jsp页面上的java操作,前提需要提供javax.servlet-apijar包依赖--><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--阿里的连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.4</version></dependency><!--Oracle驱动坐标,没有该坐标无法连接到oracle数据库,可以通过该驱动操作JDBC https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 --><dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>19.8.0.0</version></dependency><!--C3p0连接池的坐标--><dependency><groupId>be.yildiz-games</groupId><artifactId>module-database-pool-c3p0</artifactId><version>1.0.0</version><type>pom</type></dependency><!--解决数据库中文乱码问题:不支持的字符集,不支持的字符集合--><!-- https://mvnrepository.com/artifact/cn.easyproject/orai18n --><dependency><groupId>cn.easyproject</groupId><artifactId>orai18n</artifactId><version>12.1.0.2.0</version></dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
配置好之后我们需要点击图中的符号刷新or下载 jar包
导入了web作业需要的jar后然后我们来配置一下Tomcat
1.选择Add Configuration
2.点击+号添加一个新的配置
3.选择本地的tomcat
4.选择本地tomcat目录
5.配置好tomcat后我们就需要将web项目部署到tomcat中
点击+号
6.部署完之后在server中选择需要的配置,下面我会介绍一下
选择JDK的安装路径
注意 要选择应用Apply后点击OK,这样我们的tomcat就配置完了
然后我们就可以开始写代码了
首先看一下项目结构
一丶根据数据库创建实体类因为功能一是登录,所以我们先创建一个Users类
二丶创建一个连接数据库的工具类DBUtil
三丶创建一个通用的增删改查的通用工具类JdbcTemplate
这里直接贴代码
ackage util;
import dao.mapper.Mapper;
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;
public class JdbcTemplate {
private Connection conn=null;private ResultSet rs=null;private PreparedStatement ps=null;//通用查询总记录
// 通用的查询总记录 这里是网页上分页的时需要调用的方法public Integer count(String sql, Object... params) throws SQLException{try { conn = DBUtil.getConnection(); ps = conn.prepareStatement(sql);
// 设置参数if (params != null) {for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]);}}
rs = ps.executeQuery();
if (rs.next()) {return rs.getInt(1);}
} catch (SQLException e) {throw new RuntimeException(e.getMessage());} finally { DBUtil.closeAll(rs, ps, conn);}
return null;}
// 通用的修改(添加、删除、修改)public boolean update(String sql, Object... params) throws SQLException {boolean flag = false;try { conn = DBUtil.getConnection(); ps = conn.prepareStatement(sql);
// 设置参数if (params != null) {for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]);}}
int rows = ps.executeUpdate();
if (rows > 0) { flag = true;}
} catch (SQLException e) {throw new RuntimeException(e.getMessage());} finally { DBUtil.closeAll(rs, ps, conn);}
return flag;}
// 通用的查询单个对象public <T> T selectForObject(String sql, Mapper<T> mapper, Object... params) throws SQLException{ T t = null;try { conn = DBUtil.getConnection(); ps = conn.prepareStatement(sql);if (params != null) {for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]);}}
rs = ps.executeQuery();
while (rs.next()) { t = mapper.mapperRow(rs);}
} catch (SQLException e) {throw new RuntimeException(e.getMessage());} finally { DBUtil.closeAll(rs, ps, conn);}
return t;}
// 通用的查询所有对象public <T> List<T> selectList(String sql, Mapper<T> mapper, Object... params) throws SQLException { List<T> list = new ArrayList<>();
try { conn = DBUtil.getConnection();
ps = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) { System.out.println(3); ps.setObject(i + 1, params[i]);}}
rs = ps.executeQuery();
while (rs.next()) { T t = mapper.mapperRow(rs); list.add(t);}} catch (SQLException e) {throw new RuntimeException(e.getMessage());} finally { DBUtil.closeAll(rs, ps, conn);}
return list;}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
四丶然后我们还需要一个工厂模式(一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。)
1.通过静态代码块加载工厂类需要用到的属性配置文件
2.工厂类需要一个能够创建自身实例的方法
创建对象的前提条件是必须要调用构造方法(不管是有参还是无参)
但是工厂类他的构造方法是私有的,那么我们无法调用构造方法,也就无法执行工厂
类的中方法,所以我们就需要这么一个能够创建工厂类自身实例的方法
3.重中之重 仔细看
4.工厂模式就是为了解决代码的耦合性问题,也就是解耦,多例模式,每一次调用都需要重新创建一个新的对象地址,而单例模式就是在内存中开辟一个实例对象,以后每次都调用这个对象,大大提高了代码的效率
5.其次,工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些创建对象B的代码放到工厂里统一管理。既减少了重复代码,也方便以后对B的创建过程的修改维护。
五丶接下来我们就可以写用户的Dao层了
1.首先我们要定义一个UsersDao接口
2.在实现层impl中创建一个UsersDaoImpl实现类
3.由于在网页上我们要隐藏dao层是怎么实现增删改查的,所以在这里 我们要加一个业务层
六丶然后我们就可以开始写Servlet了
1.我们要定义一个通用的servlet方便让别人继承,提高代码的重用性,去除冗余的代码
2.需要获取网页传来的参数action(action的值就是方法名)
3.这里需要通过反射去调用子类中的方法
到此为止登录的功能就完成了
登录之后我们就可以写主页面的商品分页显示+高级查询
一.我们需要一个分页的工具类
然后我们需要写product实体类以及ProductDao接口以及实现类+业务层
第一步:写一个product实现类
第二步:写一个ProductDao接口 在接口中添加一个分页以及高级查询的方法
第三步:写一个ProductDaoImpl实现类,创建通用模板类对象,并实现分页方法
第四步:业务层的操作
第五步:jsp页面以及ProductServlet操作
1.从index.jSP网页跳转到productServlet
2.通过工厂创建业务层实例对象
1.创建数据传输对象
2.通过apache封装的自省和反射框架获取网页请求传输过来的所有参数
3.设置默认页码为第一页,并且设置页显示数据
4.获取会话session储存的当前页,如果不为空,则覆盖之前的默认页
5.调用业务层查询分页+高级查询的方法,将当前页码+页显示数据以及dto数据传输 对象传进去
6.传入dto获取总共多少商品数据
7.设置分页工具类
8.将dto存入session 方便网页刷新时文本框的条件刷新消息(不符合逻辑)
9.将分页类对象存入会话,便于上一页下一页…等操作
10.跳转到显示数据的网页
3.show.jsp操作
1.导入jstl核心标签库
2.设置好dto的条件,并将值都设置为会话储存的dto
3.数据显示及分页操作
Ok到了这里分页就做完了 点个关注吧 谢谢!!
idea conf文件_JavaWe商品项目保姆级解析IDEA版(配置篇)相关推荐
- win系统的阿里云服务器部署IDEASpringBoot项目保姆级教程
win系统的阿里云服务器部署SpringBoot项目保姆级教程 前言 配置阿里云服务器 配置环境 环境配置中的坑 还有别的坑的话,私信我我补充......毕竟配置是最基本的,还想咋样... jar包导 ...
- Transformer主干网络——ViT保姆级解析
前言 最近准备跑点主干网络的实验,transformer在cv都杀疯了,整理下最近这些网络的发展以及创新点.从"万恶之源"ViT开始吧. 系列文章 Transformer主干网络- ...
- Transformer主干网络——DeiT保姆级解析
前言 这篇文章是基于蒸馏的方法,提高ViT的性能,根据最近transformer相关文章的实验对比以及引用可以发现,这篇文章基本上是ViT以后出现的比较早的文章了. 系列文章 Transformer主 ...
- Transformer主干网络——T2T-ViT保姆级解析
前言 论文地址:paper 代码地址:github 系列文章 Transformer主干网络--ViT保姆级解析 Transformer主干网络--DeiT保姆级解析 Transformer主干网络- ...
- Transformer主干网络——PVT_V2保姆级解析
前言 论文地址:PVT2 代码地址:github 系列文章 Transformer主干网络--ViT保姆级解析 Transformer主干网络--DeiT保姆级解析 Transformer主干网络-- ...
- 【20210122期AI简报】保姆级深度学习环境配置指南、寒武纪首颗AI训练芯片亮相...
导读:本期为 AI 简报 20210122 期,将为您带来 9 条相关新闻,新增论文推送,在文章底部,祝各位牛年大吉~ 本文一共 3700 字,通篇阅读结束需要 7~10 分钟 1. 保姆级教程:深度 ...
- 【发版或上线项目保姆级心得】
第一步:先在正式环境创建数据库/新增表格或者字段 在数据库表中增加字段/表格,不会报错. 但是切记不要过早数据库字段/表格或者删除字段/表格 第二步:修改配置文件 先将正式环境需要的配置给写好,包括但 ...
- 【Vue】Vue2创建移动端项目实战教程,创建移动端项目保姆级教程,接上一篇创建Vue2项目(下)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.创建vue2项目 二.移动端适配 1.安装插件flexible (适配移动端) 2.安装 postcss-pxto ...
- [保姆级图文教程]如何配置局域网多机共享同步文件夹
[图文教程]如何配置局域网多机共享同步文件夹 1.控制面板设置 2.开启共享设置 3.本地组策略编辑器 4.大功告成 1.控制面板设置 控制面板>>网络和Internet>>网 ...
最新文章
- vscode中内置集成终端显示为git(bash.exe)
- python简单代码演示效果-演示python如何创建和使用一个简单的元类的代码
- Maven自動化構建工具
- 轻量级流程图控件GoJS示例连载(一):最小化
- 谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式
- 使用ssh公钥实现ssh免密码登录
- infopath视图切换
- linux正则表达式_Linux 中几个正则表达式的用法
- 树莓派之安装dlna服务
- 为你的Intel(R) HD Graphics 显卡安装适合Premiere的驱动并解决“无法为此计算机验证正在安装的驱动程序“问题
- Spring boot整合Drools、flowable决策引擎解决方案
- 国外问卷调查该怎么做?入门须知!
- 【规划】常用算法大汇总
- 最详细的Android Bitmap回收机制(从2.3到7.0,8.0)
- ElementUI表格吸顶(sticky)
- wps单文件版_微软Office手机版来了!完全免费+三合一!你还会用WPS吗?1分钟带你了解两者的不同!...
- 一键安装5个系统方法,简单易学轻松上手
- 纯JS实现填字游戏实战总结
- android多线程下载3
- Python网络爬虫实战:爬取携程网酒店评价信息
热门文章
- SAP CRM partner主数据的地址格式设计
- Document Builder: 如何将structure level的field加入到word document的table中
- CM: 如何通过table SKWG_BREL快速查询product attachment信息
- SAP成都研究院DevOps那些事
- python selenium ide使用_第 2 章 Selenium IDE 的使用 Selenium 3+Python 3 自动化测试
- php地图,地图php接口
- easyswoole和mixphp_swoole框架都有哪些
- python下载邮箱附件_基于Python3 下载邮箱附件,并解压到指定文件夹
- 电子计算机什么理论,电子计算机的工作原理是什么?
- 没有内存条电脑能开机吗_电脑没内存条能开机吗?这位朋友说他的电脑没内存条都用几年了!...