【黑马旅游网-02】
01 优化 servlet
现在是一个功能一个servlet,将其优化为一个模块一个servlet BaseServlet
02 分类数据展示 + 缓存
01 将 Jackson 字符串 转换为 List 集合
categoryList = mapper.readValue(categoryStr,new TypeReference<List<Category>>(){});
02 将 Jackson 字符串 转换为 Map 集合
Map<String, String> tmpMap = mapper.readValue(tmp, new TypeReference<Map<String, String>>() {});
03 旅游路线的分页展示
01 前端传递的参数:cid (分类)、currentPage(当前页码)、pageSize(每页大小)
02 分页条的实现:考虑边界情况
【可以优化的地方】(但不实现,不能过早的优化)
01 旅游路线的查询也是可以优化的
由于前端传递的参数为:cid (分类)、currentPage(当前页码)、pageSize(每页大小),则可以以这三个键值对为key进行存储
【黑马旅游网-01】
01 用户注册
01 前端校验
02 用户名存在,注册失败 用户名不存在,注册成功
03 用户激活,发送邮件
02 用户激活
01 根据激活码进行激活
02 激活码存在,进行激活 激活码不存在,激活失败
03 激活成功,跳转到登录页面
03 用户登录
01 根据用户名、密码,查询用户
02 用户不存在,提示 用户名或密码错误
03 用户存在,但未激活,提示 请登录邮箱进行激活
04 用户存在,且已经激活,则登录成功,跳转到首页
04 用户退出
01 销毁 session,跳转到登录页面
【一些技巧】
01 获取表单的值
$("#registerForm").serialize()
name=zero&gender=female
02 发送邮件的操作,较为耗时,可以使用线程实现
【maven】项目管理工具 POM 项目对象模型
01 依赖管理
02 清理、编译、测试、报告、打包、部署
maven 下载并安装
01 maven 目录结构
01 bin 存放maven命令
02 boot 存放maven本身的引导程序,如类加载器等
03 conf 配置文件 setting.xml
04 lib maven本身运行所需要的jar包
02 环境变量配置
01 MAVEN_HOME D:\apache-maven-3.5.2
02 JAVA_HOME D:\jdk8_92\jdk
03 maven 测试
01 cmd mvn -v
【maven 仓库】
01 本地仓库
默认的位置:${user.dir}/.m2/repository
02 远程仓库(私服)
03 中央仓库
maven 软件内置的远程仓库地址: http://repo1.maven.org/maven2
【MAVE_HOME/conf/settings.xml】
01 配置 maven 本地仓库
<localRepository>D:/maven_repository</localRepository>
02 配置阿里云镜像
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
【maven 常用命令】
01 mvn compile
02 mvn test
03 mvn clean 会删除 target 目录
04 mvn package jar(java 工程) war(web 工程)
05 mvn install 打包,并发布到本地仓库
【maven 指令生命周期】
01 clean lifecycle 在进行真正的构建之前进行一些清理工作
02 default lifecycle 构建的核心部分,编译,测试,打包,部署等
03 site lifecycle 生成项目报告,站点,发布站点
01 pom.xml 定义项目的坐标、项目依赖、项目信息、插件目标等
02 依赖管理系统 <dependency>
03 一个项目的生命周期
清理 编译 测试 报告 打包 部署
04 maven 管理项目生命周期过程是基于插件完成的
【idea && maven】
01 file other-setting default-setting maven
指定 maven_home setting.xml
02 new module,maven,maven-archetype-webapp
com.web maven_web version
03 观察 maven 配置是否正确,如果不正确,手动指定
04 创建完的项目的目录结构不完整,需要手动补充
maven_web 的 项目结构
src/main/java mark directory as source root 【其他的类似处理】
src/main/resources
src/main/webapp
src/test/java
src/test/resources
【pom.xml 说明】
<groupid> 项目名称,定义为组织名称+项目名
<artifactid> 模块名称
<version> 当前项目版本号 snapshot为快照版本(非正式版本)release为正式发布版本
<packaging> 打包类型 jar war
pom 用于maven工程的继承,通常父工程设置为 pom
坐标查询 maven 仓库
【依赖范围】
01 compile
默认,编译范围
编译、测试、运行
(由于运行时需要所以编译范围的依赖会被打包)
02 provided
在编译和测试时需要,在运行时不需要
(只有当JDK或者容器已经提供该依赖之后才使用)
【例如,servlet-api 被tomcat容器提供】
03 runtime
在编译期不需要,在测试和运行时需要
(由于运行时需要所以 runtime 范围的依赖会被打包)
【jdbc驱动包】
04 test
在编译期和运行时都不需要,在测试时需要
(由于运行时不需要所以 test 范围的依赖不会被打包)
【junit】
05 system
与 compile 类似
但是必须显式的提供对于本地系统中jar文件的路径
需要指定 systemPath 磁盘路径
不推荐使用
【本地的,maven仓库外的类库】
依赖范围由强到弱:compile provided runtime test
【设置jdk编译版本 tomcat插件】
<!--jdk编译插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
<!--tomcat插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<!-- tomcat7的插件, 不同tomcat版本这个也不一样 -->
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- 通过maven tomcat7:run运行项目时,访问项目的端口号 -->
<port>80</port>
<!-- 项目访问路径 本例:localhost:9090, 如果配置的aa, 则访问路径为localhost:9090/aa-->
<path>/travel</path>
</configuration>
</plugin>
【maven_java to maven_web】
01 new maven_java prj
02 new webapp dir
03 prj str - facets - prj new
0301 resource dir
0302 web.xml
【案例优化】
01 RedisTemplate
02 StringUtils
03 如果数据是不变的,希望在项目启动时候加载数据到内存,可以使用 ServletContextListener
04 JsonUtils
|
|