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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习网站流量日志分析--数据可视化--后端 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 加载返回到前端。

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
Java 应用服务中间件 Apache
Maven程序 tomcat插件安装与web工程启动
Maven程序 tomcat插件安装与web工程启动
68 0
|
2月前
|
存储 安全 关系型数据库
后端技术:构建高效稳定的现代Web应用
【10月更文挑战第5天】后端技术:构建高效稳定的现代Web应用
72 1
|
2月前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
46 2
|
2月前
|
自然语言处理 Cloud Native 数据安全/隐私保护
后端技术在现代Web开发中的实践与创新
本文探讨了后端技术在现代Web开发中的重要性及其应用。通过分析当前流行的后端框架和开发模式,揭示了如何利用这些技术来构建高效、可扩展的Web应用程序。同时,文章也讨论了未来后端技术的发展趋势,为开发者提供了一些启示。
|
3月前
|
安全 JavaScript Java
后端技术在现代Web开发中的实践与挑战
本文旨在探讨后端技术在现代Web开发中的关键作用,分析其在数据处理、业务逻辑实现和系统安全等方面的重要性。通过阐述常见的后端技术和框架,如Node.js、Django和Spring Boot,展示它们在实际项目中的应用。同时,文章将讨论后端开发所面临的主要挑战,包括性能优化、扩展性和维护性问题,以及如何应对这些挑战。最终,通过对实际案例的分析,总结出一套行之有效的后端开发最佳实践,为开发者提供参考。
77 5
|
4月前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
61 2
|
4月前
|
缓存 前端开发 JavaScript
高效开发现代 Web 应用:从前端到后端的最佳实践
在开发现代 Web 应用时,前端和后端技术的选择对项目的性能、可维护性和用户体验至关重要。本文将探讨如何通过现代工具和框架来优化前端和后端开发流程。我们将分析前端技术(如 React 和 Vue.js)与后端技术(如 Node.js 和 Django)的集成,并提供实际案例来展示如何实现高效开发。无论是对新手还是经验丰富的开发者,本指南都提供了宝贵的洞见和实用的技巧,以帮助提高开发效率并构建出色的 Web 应用。
|
4月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
45 0
|
4月前
|
Rust 安全 Java
Rust语言在Web后端的应用:基于Actix-web构建高性能、安全可靠的服务器实践
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的无限潜力。
186 0
|
4月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
515 0