A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zeroHe 中级黑马   /  2019-1-17 10:40  /  2890 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【黑马旅游网-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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马