网站流量日志分析--数据可视化--后端 web 工程整合搭建 | 学习笔记

简介: 快速学习网站流量日志分析--数据可视化--后端 web 工程整合搭建

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第五阶段):网站流量日志分析--数据可视化--后端 web 工程整合搭建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/697/detail/12257


网站流量日志分析--数据可视化--后端 web 工程整合搭建

打开 IDEA 编辑器,创建新的 project。

选择 maven,点击 next:

image.png

再点击 next:

确认一下 maven 安装的目录以及配置文件和它解析的仓库是否正确,如果不正确可以点击后面的选项修改。

如果没问题点击 next,点击 finish。此时 IDEA 就会联网下载 web 工程需要的依赖,保证机器能够联网。

当显示:就是显示的 war web 工程。这时不妨浏览一下工程信息:

发现和平时的 maven 工程不一样,仿佛少了很多东西,这时候我们需要做的是补全它。

有 Java 文件夹,还有 resourcs 文件夹。这不是普通的文件夹,我们该如何操作呢?

image.png

放源码的路径是 Java:

image.png

创建的只是一个普通文件夹,还需要把他转变为源码路径:

重复上述步骤,新建放各种配置的 resources。

这样就完成了两个文件夹的创建,根据需求还需要把设置 test 目录创建一下。既然是一个基于三大框架的 maven 项目,重点就是首先解决 pom 依赖。

打开课程资料,里面有一个 example-showdata 的样例打开 pom 文件,里面的依赖开发项目基本都得包含。

下面要安装几个插件。第一个进行源码打包的时候,把下列都当作配置文件加载进来:

<build>

<finalName>${project.artifactid}</finalName>

<resources>

<resource>

<directory>src/main/java</directory>

<includes>

<include>**/*.properties</include>

<include>**/*.xml</include>

</includes>

<filtering>false</filtering>

</resource>

<resource>

<directory>src/main/resources</directory>

<includes>

<include>**/*.properties</include>

<include>**/*.xml</include>

</includes>

<filtering>false</filtering>

</resource>

</resources>

<!-- 配置 Tomcat 插件 -->

<plugin>

<groupId>org.apache.tomcat.maven</groupid>

<artifactId>tomcat7-maven-plugin</artifactid>

<version>2.2</version>

<configuration>

<path>/</path>

<port>8080</port>

</configuration>

</plugin>

</plugins>

</build>

从 build 到 dependences 全部复制粘贴到工程中。这个时候如果联网就会自动更新 jar 包,之后打开 external libraries 这个仓库确认一下 jar 包是否保存进来。

依赖解决好后,接下来要做三大框架的整合,从 mybatis 向上整合

image.png

Mybatis 配置文件交给 spring 之后应该是空的,所以创建一个新的文件夹:mybatis

Mybatis 配置文件默认名字叫什么无所谓,只需要指定清楚。在资料库中把mybatis 的配置文件复制过来,配置文件的内容不需要具体记住,只要求在需要用的时候快速找到他。

新建文件夹 spring:

在资料库中把 spring 的配置文件复制过来,创建一个新文件夹 properties, 这些都是规范化的开发。

配置文件叫做 Db.Properties,里面包括链接地址,用户名,驱动,密码。然后把配置复制进来。

数据库:

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://node-1:3306/sqoopdb?characterEncoding=utf-8 jdbc.username=root

jdbc.password=Hadoop

< 1 数据库连接池-->

<bean id="datasource” class="com.alibaba.druid.pool.DruidDatasource"

destroy-method="close">

<property name="url" value="${jdbc.ur1}” />

<property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" />

<property name="driverclassName”value="${jdbc.driver}"/><property name="maxActive" value="10" /><property name="minidle" value="5" /></bean>

<!--让spring管理sqlsessionfactory使用mybatis和spring整合包中的-->

<bean id="sqlsessionFactory" class="org.mybatis.spring.sqlsessionFactoryBean">

<!--数据库连接池-->

<property name="datasource" ref="datasource" />

<!--加mybatis的全局配置文件-->

<property name="configLocation”value="classpath:mybatis/SqlMapConfig.xml”/></bean>

<bean class="org.mybatis.spring.mapper.Mapperscannerconfigurer">

<property name="basePackage”value=Icn.itcast.mapper" /></bean></beans>

复制的路径新建 cn.itcast.mapper:这样就完成了 mybatis dao 的整合。

到 service 这一层,没有什么需要做的, 只有 service 扫描注解,因为也不涉及不到事物。数据可视化是就是从 MYSQL 查询数据展示就可以,都是查询 select 的操作,不涉及到数据的修改。

拖进来也没问题:下面扫描 cn.itcast.mapper 这个包下的所有 serviced 注解。 Ctrl+c 创建这个路径

最后来到 web 层,给 spring mvc 做整合,注解驱动,ctrl+c 扫描,资源映射,资源解析器这些都需要的,把它复制进来,CTRL+C 粘贴到 spring 中。

第一块是包的路径,扫描 controller 的注解。

下一步,创建包路径,等一下开发需要规范化的开发,把对应的资源放在对应的路径下。

下面是注解驱动。项目的静态资源是用 JSP 写的,放在 web inf JSP 路径下。接下来通过 controller 的跳转,根据名字跳转到指定的 JSP 上。

下面是配置资源的映射,把静态资源的项目拖进来。首先上面这一块是静态资源,复制样式图片 JS 等等,复制之后在 web APP 下粘贴。

在复制的同时, JSP 是放在 web inf 下,这里有两个简单的 JSP,一个是 index jsp ,一个是 404。这个 hello 是一个测试,没有太多的意义。

image.png

可以看到 Web inf 下现在已经有了一个 index jsp ,这个是创建工程的时候 IDEA 默认自带的,需要右键把它删除掉。接下来把以上三个 JSP 放在 web inf jsp 路径下。可以直接复制这个路径。

知识点,把 JSP 放在 web inf 下和放在 web app 下的区别是什么?

如果放在 web app 下,可以直接从外面访问。如果放在 web inf 下,只能通过内部的 controller 跳转访问,相当于做个保护。

最关键的一步:

整个 web 项目首先加载的是 web.xml 这个配置文件,要去初始化 spring 容器,慢慢去进行静态支,请求的拦截, POS 和乱码解析等等。

下面打开看一下:

(web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/iavaee"

xsi:schemaLocation="http://java.sun.com/xm1/ns/javaee http://java.sun.com/xm1/ns/javaee/web-app 2 5.xsd' version-"2.5">

<!-- 加载 spring 容器 --><context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring/applicationContext-*.xml</param-value></context-param><listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

<!-- 解决 post 乱码 --><filter>

<filter-name>CharacterEncodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param>

<param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter>

<filter-mapping>

<filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

<!-- springmvc 的前端控制器 --><servlet>

<servlet-name>data-report</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- contextConfiaLocation 不是必须的, 如果不配冒 contextConfiaLocation,springmvc 的配器文件默认在: WEB-INF/serv<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring/springmvc.xml</param-value></init-param>

<load-on-startup>1</load-on-startup></servlet>

<servlet-mapping>

<servlet-name>data-report</servlet-name>

<url-pattern>/</url-pattern><!--拦截所有请求 jsp 除外--></servlet-mapping>

<!-- 全局错误页面 --><error-paqe>

<error-code>404</error-code>

<location>/WEB-INF/jsp/404.isp</location></error-page></web-app>

把这些复制到 web.xml 中,这样就完成了项目三大框架的整合。

下面想看首页长什么样,但是jS页面并不能直接去访问,所以需要 controller 来跳转。包已经有了,新建类:

image.png

package cn.itcast.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping:

/**

*created by Allen woon*/

@Controller

public class IndexController{

//用于首页的请求跳转

@RequestMapping("/index') public string showIndex(){

return "index";

)

}

点击 maven,首先要确定工作路径是不是工程路径,接下来给这个起名字叫做 Tomcat7 Run。

可以发现现在已经启动成功了,在本地的 8080,而且没有错误。

image.png

这时打开浏览器,输入网址,回车:

可以看到有一些动态未加载出来的数据。

那么应该如何在后端把他加载出来?

这就是后端 web 项目的搭建。如果对 phb 比较熟悉,用 phb 会更加方便,不需要用三大框架这么笨重的来做。但是最终目的要明确,都是把数据从 MySQL 加载返回到前端。

以上就是后端工程的整合与搭建。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
存储 安全 关系型数据库
后端技术:构建高效稳定的现代Web应用
【10月更文挑战第5天】后端技术:构建高效稳定的现代Web应用
675 1
|
SQL 缓存 搜索推荐
后端技术在现代Web开发中的应用与挑战
本文将深入探讨后端技术在现代Web开发中的重要性,涵盖从基础架构到性能优化的多个方面。通过分析当前主流后端技术的优缺点,并提供一些实用的解决方案和建议,帮助开发者更好地应对日常开发中的挑战。
207 1
|
9月前
|
人工智能 运维 监控
一招高效解析 Access Log,轻松应对泼天流量
一招高效解析 Access Log,轻松应对泼天流量
174 0
一招高效解析 Access Log,轻松应对泼天流量
|
10月前
|
人工智能 自然语言处理 Java
IDEA + 通义灵码 AI 程序员:快速构建 DDD 后端工程模板
本文介绍了如何利用 IntelliJ IDEA 编辑器和阿里云的通义灵码 AI 程序员,快速搭建一个基于 DDD 领域驱动架构的后端工程模板。
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
1352 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
301 2
|
自然语言处理 Cloud Native 数据安全/隐私保护
后端技术在现代Web开发中的实践与创新
本文探讨了后端技术在现代Web开发中的重要性及其应用。通过分析当前流行的后端框架和开发模式,揭示了如何利用这些技术来构建高效、可扩展的Web应用程序。同时,文章也讨论了未来后端技术的发展趋势,为开发者提供了一些启示。
|
安全 JavaScript Java
后端技术在现代Web开发中的实践与挑战
本文旨在探讨后端技术在现代Web开发中的关键作用,分析其在数据处理、业务逻辑实现和系统安全等方面的重要性。通过阐述常见的后端技术和框架,如Node.js、Django和Spring Boot,展示它们在实际项目中的应用。同时,文章将讨论后端开发所面临的主要挑战,包括性能优化、扩展性和维护性问题,以及如何应对这些挑战。最终,通过对实际案例的分析,总结出一套行之有效的后端开发最佳实践,为开发者提供参考。
297 6
|
人工智能 关系型数据库 数据安全/隐私保护
后端技术在现代Web开发中的应用与挑战
本文将深入探讨后端技术在现代Web开发中的重要性,通过分析其在数据处理、业务逻辑实现和安全性保障方面的应用,揭示后端技术的核心价值。同时,本文还将讨论当前后端开发面临的主要挑战,如高并发处理、数据安全、微服务架构的复杂性等,并给出相应的解决方案。无论是后端开发者还是对后端技术感兴趣的读者,都可以通过这篇文章获得启发和指导。