René's URL Explorer Experiment


Title: fullstack-tutorial/notes/JavaArchitecture/07-JavaWeb.md at master · ZengBlogs/fullstack-tutorial · GitHub

Open Graph Title: fullstack-tutorial/notes/JavaArchitecture/07-JavaWeb.md at master · ZengBlogs/fullstack-tutorial

X Title: fullstack-tutorial/notes/JavaArchitecture/07-JavaWeb.md at master · ZengBlogs/fullstack-tutorial

Description: 🚀 fullstack tutorial 2019,后台技术栈/架构师之路/全栈开发社区,春招/秋招/校招/面试 - fullstack-tutorial/notes/JavaArchitecture/07-JavaWeb.md at master · ZengBlogs/fullstack-tutorial

Open Graph Description: 🚀 fullstack tutorial 2019,后台技术栈/架构师之路/全栈开发社区,春招/秋招/校招/面试 - ZengBlogs/fullstack-tutorial

X Description: 🚀 fullstack tutorial 2019,后台技术栈/架构师之路/全栈开发社区,春招/秋招/校招/面试 - ZengBlogs/fullstack-tutorial

Opengraph URL: https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/blob/*name(/*path)
route-controllerblob
route-actionshow
fetch-noncev2:f6ed465c-5b57-87ed-7cf3-9044f79ce4ec
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idB8E0:700EC:9E9049:D6E7FC:6A56F596
html-safe-nonceb3393b37102059ca662f7516f401dba5f1a8befc8f4483fa258378b1ef455389
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCOEUwOjcwMEVDOjlFOTA0OTpENkU3RkM6NkE1NkY1OTYiLCJ2aXNpdG9yX2lkIjoiMTcxOTQ0NjI4MTM1MTc4NzkyNiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacb1139864dc0bfefee90a436c4a01df8fd921009eed25903fa4e96bf1ac5044ba
hovercard-subject-tagrepository:231888193
github-keyboard-shortcutsrepository,source-code,file-tree,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///blob/show
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md
twitter:imagehttps://opengraph.githubassets.com/df35e9fab01518b38bfa8fef2ab03b3c43f33c66e3d208e8a54ab6d3c6a0b16f/ZengBlogs/fullstack-tutorial
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/df35e9fab01518b38bfa8fef2ab03b3c43f33c66e3d208e8a54ab6d3c6a0b16f/ZengBlogs/fullstack-tutorial
og:image:alt🚀 fullstack tutorial 2019,后台技术栈/架构师之路/全栈开发社区,春招/秋招/校招/面试 - ZengBlogs/fullstack-tutorial
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None4eb29e5f807bd95e41196adfbc6d28f9af12d89830d8b684f3e871774ddff2fc
turbo-cache-controlno-cache
go-importgithub.com/ZengBlogs/fullstack-tutorial git https://github.com/ZengBlogs/fullstack-tutorial.git
octolytics-dimension-user_id59525752
octolytics-dimension-user_loginZengBlogs
octolytics-dimension-repository_id231888193
octolytics-dimension-repository_nwoZengBlogs/fullstack-tutorial
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id129332826
octolytics-dimension-repository_parent_nwofrank-lam/fullstack-tutorial
octolytics-dimension-repository_network_root_id129332826
octolytics-dimension-repository_network_root_nwofrank-lam/fullstack-tutorial
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releaseb056788a129fb0194b61f2ebb4c43f6a9f4dfd27
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FZengBlogs%2Ffullstack-tutorial%2Fblob%2Fmaster%2Fnotes%2FJavaArchitecture%2F07-JavaWeb.md
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FZengBlogs%2Ffullstack-tutorial%2Fblob%2Fmaster%2Fnotes%2FJavaArchitecture%2F07-JavaWeb.md
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=ZengBlogs%2Ffullstack-tutorial
Reloadhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md
Reloadhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md
Reloadhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md
ZengBlogs https://github.com/ZengBlogs
fullstack-tutorialhttps://github.com/ZengBlogs/fullstack-tutorial
frank-lam/fullstack-tutorialhttps://github.com/frank-lam/fullstack-tutorial
Notifications https://github.com/login?return_to=%2FZengBlogs%2Ffullstack-tutorial
Fork 0 https://github.com/login?return_to=%2FZengBlogs%2Ffullstack-tutorial
Star 0 https://github.com/login?return_to=%2FZengBlogs%2Ffullstack-tutorial
Code https://github.com/ZengBlogs/fullstack-tutorial
Pull requests 0 https://github.com/ZengBlogs/fullstack-tutorial/pulls
Actions https://github.com/ZengBlogs/fullstack-tutorial/actions
Projects https://github.com/ZengBlogs/fullstack-tutorial/projects
Security and quality 0 https://github.com/ZengBlogs/fullstack-tutorial/security
Insights https://github.com/ZengBlogs/fullstack-tutorial/pulse
Code https://github.com/ZengBlogs/fullstack-tutorial
Pull requests https://github.com/ZengBlogs/fullstack-tutorial/pulls
Actions https://github.com/ZengBlogs/fullstack-tutorial/actions
Projects https://github.com/ZengBlogs/fullstack-tutorial/projects
Security and quality https://github.com/ZengBlogs/fullstack-tutorial/security
Insights https://github.com/ZengBlogs/fullstack-tutorial/pulse
https://github.com/ZengBlogs/fullstack-tutorial
fullstack-tutorialhttps://github.com/ZengBlogs/fullstack-tutorial/tree/master
noteshttps://github.com/ZengBlogs/fullstack-tutorial/tree/master/notes
JavaArchitecturehttps://github.com/ZengBlogs/fullstack-tutorial/tree/master/notes/JavaArchitecture
Historyhttps://github.com/ZengBlogs/fullstack-tutorial/commits/master/notes/JavaArchitecture/07-JavaWeb.md
https://github.com/ZengBlogs/fullstack-tutorial/commits/master/notes/JavaArchitecture/07-JavaWeb.md
fullstack-tutorialhttps://github.com/ZengBlogs/fullstack-tutorial/tree/master
noteshttps://github.com/ZengBlogs/fullstack-tutorial/tree/master/notes
JavaArchitecturehttps://github.com/ZengBlogs/fullstack-tutorial/tree/master/notes/JavaArchitecture
Rawhttps://github.com/ZengBlogs/fullstack-tutorial/raw/refs/heads/master/notes/JavaArchitecture/07-JavaWeb.md
前言https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%89%8D%E8%A8%80
一、Servlet / JSP / Webhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%B8%80servlet--jsp--web
1. 什么是Servlethttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-%E4%BB%80%E4%B9%88%E6%98%AFservlet
2. Tomcat容器等级https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-tomcat%E5%AE%B9%E5%99%A8%E7%AD%89%E7%BA%A7
3. Servlet执行流程https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#3-servlet%E6%89%A7%E8%A1%8C%E6%B5%81%E7%A8%8B
浏览器请求https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E6%B5%8F%E8%A7%88%E5%99%A8%E8%AF%B7%E6%B1%82
服务器创建对象https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%88%9B%E5%BB%BA%E5%AF%B9%E8%B1%A1
调用init方法https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E8%B0%83%E7%94%A8init%E6%96%B9%E6%B3%95
调用service方法https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E8%B0%83%E7%94%A8service%E6%96%B9%E6%B3%95
向浏览器响应https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%90%91%E6%B5%8F%E8%A7%88%E5%99%A8%E5%93%8D%E5%BA%94
4. Servlet生命周期https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#4-servlet%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
5. Tomcat装载Servlet的三种情况https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#5-tomcat%E8%A3%85%E8%BD%BDservlet%E7%9A%84%E4%B8%89%E7%A7%8D%E6%83%85%E5%86%B5
6. forward和redirecthttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#6-forward%E5%92%8Credirect
7. Jsp和Servlet的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#7-jsp%E5%92%8Cservlet%E7%9A%84%E5%8C%BA%E5%88%AB
8. tomcat和Servlet的联系https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#8-tomcat%E5%92%8Cservlet%E7%9A%84%E8%81%94%E7%B3%BB
9. cookie和session的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#9-cookie%E5%92%8Csession%E7%9A%84%E5%8C%BA%E5%88%AB
10. JavaEE中的三层结构和MVChttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#10-javaee%E4%B8%AD%E7%9A%84%E4%B8%89%E5%B1%82%E7%BB%93%E6%9E%84%E5%92%8Cmvc
11. RESTful 架构https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#11-restful-%E6%9E%B6%E6%9E%84
什么是RESThttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BB%80%E4%B9%88%E6%98%AFrest
什么是RESTful APIhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BB%80%E4%B9%88%E6%98%AFrestful-api
RESTful 风格https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#restful-%E9%A3%8E%E6%A0%BC
二、Springhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BA%8Cspring
1. Spring IOC、AOP的理解、实现的原理,以及优点https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-spring-iocaop%E7%9A%84%E7%90%86%E8%A7%A3%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8E%9F%E7%90%86%E4%BB%A5%E5%8F%8A%E4%BC%98%E7%82%B9
IOChttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#ioc
AOPhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#aop
2. 什么是依赖注入,注入的方式有哪些https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-%E4%BB%80%E4%B9%88%E6%98%AF%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5%E6%B3%A8%E5%85%A5%E7%9A%84%E6%96%B9%E5%BC%8F%E6%9C%89%E5%93%AA%E4%BA%9B
3. Spring IOC初始化过程https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#3-spring-ioc%E5%88%9D%E5%A7%8B%E5%8C%96%E8%BF%87%E7%A8%8B
4. 项目中Spring AOP用在什么地方,为什么这么用,切点,织入,通知用自己的话描述一下https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#4-%E9%A1%B9%E7%9B%AE%E4%B8%ADspring-aop%E7%94%A8%E5%9C%A8%E4%BB%80%E4%B9%88%E5%9C%B0%E6%96%B9%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B9%88%E7%94%A8%E5%88%87%E7%82%B9%E7%BB%87%E5%85%A5%E9%80%9A%E7%9F%A5%E7%94%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E8%AF%9D%E6%8F%8F%E8%BF%B0%E4%B8%80%E4%B8%8B
5. AOP动态代理2种实现原理,他们的区别是什么?https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#5-aop%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%862%E7%A7%8D%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%E4%BB%96%E4%BB%AC%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%E4%BB%80%E4%B9%88
6. Struts拦截器和Spring AOP区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#6-struts%E6%8B%A6%E6%88%AA%E5%99%A8%E5%92%8Cspring-aop%E5%8C%BA%E5%88%AB
7. Spring 是如何管理事务的,事务管理机制https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#7-spring-%E6%98%AF%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%E4%BA%8B%E5%8A%A1%E7%9A%84%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86%E6%9C%BA%E5%88%B6
如何管理的https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%E7%9A%84
8. Spring中bean加载机制,生命周期https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#8-spring%E4%B8%ADbean%E5%8A%A0%E8%BD%BD%E6%9C%BA%E5%88%B6%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
加载机制https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%8A%A0%E8%BD%BD%E6%9C%BA%E5%88%B6
生命周期https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
9. Bean实例化的三种方式https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#9-bean%E5%AE%9E%E4%BE%8B%E5%8C%96%E7%9A%84%E4%B8%89%E7%A7%8D%E6%96%B9%E5%BC%8F
10. BeanFactory 和 FactoryBean的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#10-beanfactory-%E5%92%8C-factorybean%E7%9A%84%E5%8C%BA%E5%88%AB
11. BeanFactory和ApplicationContext的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#11-beanfactory%E5%92%8Capplicationcontext%E7%9A%84%E5%8C%BA%E5%88%AB
BeanFactoryhttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#beanfactory
两者装载bean的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%B8%A4%E8%80%85%E8%A3%85%E8%BD%BDbean%E7%9A%84%E5%8C%BA%E5%88%AB
我们该用BeanFactory还是ApplicationContenthttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E6%88%91%E4%BB%AC%E8%AF%A5%E7%94%A8beanfactory%E8%BF%98%E6%98%AFapplicationcontent
ApplicationContext其他特点https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#applicationcontext%E5%85%B6%E4%BB%96%E7%89%B9%E7%82%B9
spring的AOP(常用的是拦截器)https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#spring%E7%9A%84aop%E5%B8%B8%E7%94%A8%E7%9A%84%E6%98%AF%E6%8B%A6%E6%88%AA%E5%99%A8
spring载入多个上下文https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#spring%E8%BD%BD%E5%85%A5%E5%A4%9A%E4%B8%AA%E4%B8%8A%E4%B8%8B%E6%96%87
12. ApplicationContext 上下文的生命周期https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#12-applicationcontext-%E4%B8%8A%E4%B8%8B%E6%96%87%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
13. Spring中autowire和resourse关键字的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#13-spring%E4%B8%ADautowire%E5%92%8Cresourse%E5%85%B3%E9%94%AE%E5%AD%97%E7%9A%84%E5%8C%BA%E5%88%AB
14. Spring的注解讲一下,介绍Spring中的熟悉的注解https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#14-spring%E7%9A%84%E6%B3%A8%E8%A7%A3%E8%AE%B2%E4%B8%80%E4%B8%8B%E4%BB%8B%E7%BB%8Dspring%E4%B8%AD%E7%9A%84%E7%86%9F%E6%82%89%E7%9A%84%E6%B3%A8%E8%A7%A3
一: 组件类注解https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%B8%80-%E7%BB%84%E4%BB%B6%E7%B1%BB%E6%B3%A8%E8%A7%A3
二:装配bean时常用的注解https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BA%8C%E8%A3%85%E9%85%8Dbean%E6%97%B6%E5%B8%B8%E7%94%A8%E7%9A%84%E6%B3%A8%E8%A7%A3
15. Spring 中用到了那些设计模式?https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#15-spring-%E4%B8%AD%E7%94%A8%E5%88%B0%E4%BA%86%E9%82%A3%E4%BA%9B%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F
工厂模式(Factory Method)https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8Ffactory-method
单态模式【单例模式】(Singleton)https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%8D%95%E6%80%81%E6%A8%A1%E5%BC%8F%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8Fsingleton
适配器(Adapter)https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E9%80%82%E9%85%8D%E5%99%A8adapter
代理(Proxy)https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BB%A3%E7%90%86proxy
观察者(Observer)https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E8%A7%82%E5%AF%9F%E8%80%85observer
16. Spring 的优点有哪些https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#16-spring-%E7%9A%84%E4%BC%98%E7%82%B9%E6%9C%89%E5%93%AA%E4%BA%9B
17. IOC和AOP用到的设计模式https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#17-ioc%E5%92%8Caop%E7%94%A8%E5%88%B0%E7%9A%84%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F
二、SpringMVChttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BA%8Cspringmvc
1. Spring MVC的工作原理https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-spring-mvc%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86
2. Spring MVC注解的优点https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-spring-mvc%E6%B3%A8%E8%A7%A3%E7%9A%84%E4%BC%98%E7%82%B9
三、Hibernatehttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%B8%89hibernate
1. 简述Hibernate常见优化策略。https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-%E7%AE%80%E8%BF%B0hibernate%E5%B8%B8%E8%A7%81%E4%BC%98%E5%8C%96%E7%AD%96%E7%95%A5
2. Hibernate一级缓存与二级缓存之间的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-hibernate%E4%B8%80%E7%BA%A7%E7%BC%93%E5%AD%98%E4%B8%8E%E4%BA%8C%E7%BA%A7%E7%BC%93%E5%AD%98%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB
3. Hibernate的理解https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#3-hibernate%E7%9A%84%E7%90%86%E8%A7%A3
四、MyBatishttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E5%9B%9Bmybatis
1. Mybatis原理https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-mybatis%E5%8E%9F%E7%90%86
2. Hibernate了解吗,Mybatis和Hibernate的区别https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-hibernate%E4%BA%86%E8%A7%A3%E5%90%97mybatis%E5%92%8Chibernate%E7%9A%84%E5%8C%BA%E5%88%AB
五、Tomcathttps://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E4%BA%94tomcat
1. tomcat加载基本流程,涉及到的参数https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-tomcat%E5%8A%A0%E8%BD%BD%E5%9F%BA%E6%9C%AC%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%8F%82%E6%95%B0
附录:参考资料https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#%E9%99%84%E5%BD%95%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#前言
JSP-Servlet的工作流程 - wwfy - 博客园https://www.cnblogs.com/w-wfy/p/5833103.html
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#一servlet--jsp--web
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-什么是servlet
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/1535532891036.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-tomcat容器等级
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/4685968-b27b8782600dd0af.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#3-servlet执行流程
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#浏览器请求
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/20180521175251513.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#服务器创建对象
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/20180521182037787.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#调用init方法
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/20180521183945631.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#调用service方法
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/20180521212619975.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#向浏览器响应
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/20180521214423142.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#4-servlet生命周期
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/1535535812505.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#5-tomcat装载servlet的三种情况
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#6-forward和redirect
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/1535537913258.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#7-jsp和servlet的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/229cf9ff5b1729eaf408fac56238eeb3.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#8-tomcat和servlet的联系
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/servlet-tomcat.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#9-cookie和session的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#10-javaee中的三层结构和mvc
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/jee-3-ties.bmp
JavaEE中的三层结构和MVC - cuiyi's blog(崔毅 crazycy) - BlogJavahttp://www.blogjava.net/crazycy/archive/2006/07/03/56387.html
三层构架和 MVC 不同吗? - 知乎https://www.zhihu.com/question/24291079
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#11-restful-架构
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#什么是rest
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#什么是restful-api
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#restful-风格
http://api.douban.com/v2/`book`/:idhttp://api.douban.com/v2/%60book%60/:id
http://api.douban.com/v2/`movie`/subject/:idhttp://api.douban.com/v2/%60movie%60/subject/:id
http://api.douban.com/v2/`music`/:idhttp://api.douban.com/v2/%60music%60/:id
http://api.douban.com/v2/`event`/:idhttp://api.douban.com/v2/%60event%60/:id
http://api.douban.com/v2/book/:idhttp://api.douban.com/v2/book/:id
http://api.douban.com/v2/book/:id/collectionhttp://api.douban.com/v2/book/:id/collection
http://api.douban.com/v2/book/:id/collectionhttp://api.douban.com/v2/book/:id/collection
http://api.douban.com/v2/book/annotation/:idhttp://api.douban.com/v2/book/annotation/:id
http://api.douban.com/v2/book/:idhttp://api.douban.com/v2/book/:id
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#二spring
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-spring-iocaop的理解实现的原理以及优点
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#ioc
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#aop
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-什么是依赖注入注入的方式有哪些
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#3-spring-ioc初始化过程
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/bean-init2.png
2 IOC容器初始化过程 - CSDN博客https://blog.csdn.net/u010723709/article/details/47046211
Spring IOC容器的初始化过程 - 掘金https://juejin.im/post/5af8f8066fb9a07ac85a853e
Spring IOC核心源码学习 | Yikunhttps://yikun.github.io/2015/05/29/Spring-IOC%E6%A0%B8%E5%BF%83%E6%BA%90%E7%A0%81%E5%AD%A6%E4%B9%A0/
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#4-项目中spring-aop用在什么地方为什么这么用切点织入通知用自己的话描述一下
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#5-aop动态代理2种实现原理他们的区别是什么
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#6-struts拦截器和spring-aop区别
https://www.imooc.com/learn/450https://www.imooc.com/learn/450
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#7-spring-是如何管理事务的事务管理机制
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#如何管理的
http://blog.csdn.net/jie_liang/article/details/77600742http://blog.csdn.net/jie_liang/article/details/77600742
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#8-spring中bean加载机制生命周期
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#加载机制
https://www.cnblogs.com/weknow619/p/6673667.htmlhttps://www.cnblogs.com/weknow619/p/6673667.html
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#生命周期
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/bean-life.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#9-bean实例化的三种方式
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#10-beanfactory-和-factorybean的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#11-beanfactory和applicationcontext的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#beanfactory
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#两者装载bean的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#我们该用beanfactory还是applicationcontent
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#applicationcontext其他特点
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#spring的aop常用的是拦截器
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#spring载入多个上下文
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#12-applicationcontext-上下文的生命周期
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#13-spring中autowire和resourse关键字的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#14-spring的注解讲一下介绍spring中的熟悉的注解
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#一-组件类注解
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#二装配bean时常用的注解
Spring常用注解介绍【经典总结】 - CSDN博客https://blog.csdn.net/u010648555/article/details/76299467
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#15-spring-中用到了那些设计模式
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#工厂模式factory-method
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#单态模式单例模式singleton
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#适配器adapter
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#代理proxy
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#观察者observer
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#16-spring-的优点有哪些
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#17-ioc和aop用到的设计模式
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#二springmvc
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-spring-mvc的工作原理
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/assets/Spring-mvc-framework-1536053968817.png
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-spring-mvc注解的优点
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#三hibernate
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-简述hibernate常见优化策略
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-hibernate一级缓存与二级缓存之间的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#3-hibernate的理解
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#四mybatis
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-mybatis原理
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#2-hibernate了解吗mybatis和hibernate的区别
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#五tomcat
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#1-tomcat加载基本流程涉及到的参数
https://github.com/ZengBlogs/fullstack-tutorial/blob/master/notes/JavaArchitecture/07-JavaWeb.md#附录参考资料
Java-Guide/Spring学习与面试.md at master · Snailclimb/Java-Guidehttps://github.com/Snailclimb/Java-Guide/blob/master/%E4%B8%BB%E6%B5%81%E6%A1%86%E6%9E%B6/Spring%E5%AD%A6%E4%B9%A0%E4%B8%8E%E9%9D%A2%E8%AF%95.md
biezhi/java-bible: 我的技术摘要https://github.com/biezhi/java-bible
Spring 常见的一些面试题整理 搜云库https://www.souyunku.com/2018/03/21/spring/
阿里Java研发工程师实习面经_笔经面经_牛客网https://www.nowcoder.com/discuss/72899?type=2&order=3&pos=509&page=1
网易面经(Java开发岗) - Andya - 博客园https://www.cnblogs.com/Andya/p/7456511.html
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.