web项目开发环境搭建
有同学项目跑不起来,Java 环境搁久了就会生疏。最短路径是:先列出要用的软件,再下载安装,最后把项目跑通。对照前端工具链,印象会深一些。 顺序是 JDK → Maven → IDEA(集成 Maven/Tomcat/编码)→ 建 Web 工程试跑 → Spring Initializr 建 Spr…
有同学项目跑不起来,Java 环境搁久了就会生疏。最短路径是:先列出要用的软件,再下载安装,最后把项目跑通。对照前端工具链,印象会深一些。 顺序是 JDK → Maven → IDEA(集成 Maven/Tomcat/编码)→ 建 Web 工程试跑 → Spring Initializr 建 Spr…
HTTP 无状态,单系统靠 会话 + Cookie(JSESSIONID) 记住登录。系统一变成应用群,用户却不该每个子系统都登一次、再登出一次。 同父域共享 Cookie 有域名、技术和安全限制,所以要 SSO:独立认证中心发令牌,各系统建局部会话,登录一次、注销一次。乱码文件名的截图地址按原文原…
先看总架构图:Spring Cloud 是微服务的一站式方案,在 Spring Boot 上把服务发现、配置、总线、负载、断路器、网关、监控收成一套编程模型。 版本号用伦敦地铁站名按字母排。下面按 Eureka → Ribbon → OpenFeign → Hystrix → Zuul → Conf…
上篇从写死代码走到代理,再从编程式 Spring AOP 走到声明式。续篇的核心是 Advisor(切面):把 Advice(增强) 和 Pointcut(切点) 捆在一起,只拦该拦的方法。 随后是按 Bean 名 / 切面自动代理,再集成 AspectJ 表达式和注解,最后用配置方式收口。所有示例…
AOP(面向切面编程)是对 OOP 的补充而不是替代:把日志、事务、鉴权这类横切逻辑从业务方法里抽出去,用一把“刀”横切一坨“面”。 本文从写死 before/after,讲到静态代理、JDK 动态代理、CGLib,再进入 Spring AOP 的前置、后置、环绕、抛出和引入增强;概念最早不来自 R…
瓦片和静态资源一多,直接打到 Tomcat 会拖垮动态容器。常见做法是让 Nginx 做反向代理和静态伺服,动态请求再 proxy_pass 给 Tomcat。 下面从下载启动、改端口、跳转 Tomcat,讲到静态分离、负载和关闭命令。截图一步都不少。 职责 Nginx Tomcat 擅长 反向代理…
Tomcat 是 Apache 基金会的轻量级 Web 应用服务器。server.xml 是最重要的配置文件:每一个元素都对应一个组件,改 XML 就是在调这些组件。 下面用一份实例把 Server、Service、Connector、Engine、Host、Context 的作用和互相怎么选中请求…
Java Web 后台很少从 Servlet 一路手写到上线,常见做法是按层选用成熟框架:Web 层 SpringMVC、容器与切面 Spring、持久化 MyBatis,分布式再补 Dubbo、RabbitMQ。 构建用 Maven,日志 Log4j,缓存 Ehcache / Redis,权限 S…
ActiveMQ 是 Apache 的开源消息系统,纯 Java 实现,对接 J2EE 的 JMS(Java Message Service)。JMS 像 JDBC 一样给出一套与厂商无关的消息创建、发送、读取接口。 两种投递模型要先分清:P2P(队列) 一条消息只有一个消费者;Pub/Sub(主题…
加密就是把明文变成路上截获也看不懂的东西,送到接收方后再用配套算法还原。Java 里常用的几类是 对称加密、非对称加密、Base64 编码、MD5 摘要和数字签名。 按要不要密钥来分:Base64、MD5 不基于 key;对称、非对称、数字签名、数字证书基于 key。编码和解密不是一回事,下面按对称…