springboot + shiro权限系统实现
介绍
springboot + shiro + mybatis-plus 集成项目, 使用 mybatis-plus 生成 entity 和 dao 代码,集成 shiro 的权限控制
需要知识
- springboot
- mybatis
- shiro
项目启动
- 导入 sql , 修改数据库配置
- Redis Windows版本下载 。直接下载zip版本解压到任意目录即可。 下载后,使用cmd命令切换到Redis根目录,然后运行redis-server.exe redis.windows.conf启动即可。
信息采集系统实现
介绍
该系统主要用于读取存放用户登录信息的文件,分析用户信息,从客户端发送至服务器,服务器处理信息,存放入数据库中。
系统主要分为6个模块:采集模块,发送模块,存储模块,备份模块,日志模块和配置模块(最重要的模块)。
需要知识
- 采集模块:Java集合框架应用
- 发送模块:多线程,网络编程
- 存储模块:jdbc编程,oracle
- 备份模块:JavaIO流
- 日志模块:log4j
- 配置模块:单例模式,dom4j解析xml,IOC控制反转
秒杀项目
本项目提取自电商的秒杀场景,将秒杀业务独立出一个练习项目。适合刚工作和准备工作的程序员。
技术
- 总体架构: Maven + SSM
- 日志: slf4j + logback
- 数据库相关:Mysql + c3p0
Maven + SSM 整合
- 在 idea 上创建一个 Java 项目,新建 pom.xml 文件,填写相关依赖。(具体见源码 pom.xml 文件)右键项目找到Maven Reimport 导入Maven依赖。
- 修改目录结构
完整目录:
main.java 存放源码
resources 存放相关配置文件
sql 存放相关sql
webapp 存放前台页面
DAO(Data Access Object) 数据访问对象,提供访问数据库的抽象接口,或者持久化机制,而不暴露数据库的内部详细信息。DAO提供从程序调用到持久层的匹配。面向Model。
DTO:数据传输对象(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。简单来说,当我们需要一个对象10个字段的内容,但这个对象总共有20个字段,我们不需要把整个PO对象全部字段传输到客户端,而是可以用DTO重新封装,传递到客户端。此时,如果这个对象用来对应界面的展现,就叫VO。
- 创建 jdbc.properties, spring-dao.xml 文件和 mybaties-config.xml 文件
jdbc.properties 连接数据库
spring-dao.xml 文件是 Spring 与 Mybatis 的整合,主要配置自动扫描,自动注入和连接c3p0。(内容见源码)
mybaties-config.xml 是 mybaties 的一些属性配置
spring-dao.xml 文件
1. 连接数据库的相关参数
2. 使用的连接池
3. 配置 sqlSessionfactory 对象
4. 配置扫描 DAO 接口包
- 创建 spring-service.xml 文件
spring-service.xml
1. 自动扫描
2. 事务管理器
- 创建 spring-web.xml 文件
spring-web.xml
1. 对 SpringMVC 的整合,开启注解模式
2. 静态资源的 servlet 配置
3. 配置 jsp 显示 ViewResolver
4. 自动扫描 web 的 bean
- 配置 web.xml,配置拦截器,初始化spring-*.xml。
完成这6步,项目架构就搭建完成。
原生 AJAX 实现搜索框智能提示
本项目介绍
应用场景
搜索框,模糊搜索等
执行结果
理论分析
- 在搜索框输入关键字
- 浏览器将关键字「异步」发送给服务器
- 服务器经过处理。将相应数据以 Json 格式返回客户端
- 浏览器接受服务器响应数据,解析之后使用 js 操作 dom 显示数据。
重点一:数据交互采用 ajax 方式
重点二:javascript 解析数据动态展示
XMLHttpRequest介绍
XMLHttpRequest 是一个API, 它为客户端提供了在客户端和服务器之间传输数据的功能
readyState 五种状态:
值 | 状态 | 描述 |
0 | UNSENT (未打开) | 代理被创建,但尚未调用 open() 方法。 |
1 | OPENED (未发送) | open() 方法已经被调用。 |
2 | HEADERS_RECEIVED (已获取响应头) | send() 方法已经被调用,并且头部和状态已经可获得。 |
3 | LOADING (正在下载响应体) | 下载中,responseText 属性已经包含部分数据。 |
4 | DONE (请求完成) | 下载操作已完成。 |
java 简易实现网络爬虫
什么是网络爬虫?
维基百科
网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。
百度百科
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
java网络爬虫练习项目
一个比较简单的java练习项目。
需要知识
- 什么是网络爬虫
- Java基础
- 正则表达式
项目思路
寻找一个你喜欢的问题页面,利用http请求获取问题页面的源码,然后通过正则表达式,不断爬取相关问题页面。
项目介绍
该项目存在三个类 Imooc.java : imooc问题bean类 Spider.java: 封装用来爬取页面的方法类 Main.java: 运行起始页面
- Imooc.java类是要爬取内容的对象类,属性成员有问题,问题链接,问题描述,答案列表和下一个问题链接。
- Spider.java类封装了2个可能用到的方法,getSource方法获取网页源代码和getImoocPage获取页面Url列表。
项目运行结果
各个项目在总目录中的项目名如下:
权限系统项目名称:springboot-shiro
信息采集系统项目名称:woss
搜索框智能提示项目名称:ServletAjax
简易网络爬虫实现项目名称:IMOOCSpider
其他项目:聊天室、图书管理系统等
完整素材及全部代码
代码已上传csdn,0积分下载,觉得这片博文有用请留下你的点赞和关注。