1 入口是web.xml
tomcat加载war的时候会去读该入库文件。
2 web.xml中spring mvc的配置
定义servlet到servlet-mapping之间的映射,org.springframework.web.servlet.DispatcherServlet
定义servlet的时候指定spring mvc的配置文件,spring-mvc.xml
3 context-param和listener
tomcat启动war的时候,会首先去读取这两个值,读取它们的目的是什么呢?
前者参数为contextConfigLocation,指定spring-context.xml的位置。
后者ContextLoaderListener在tomcat加载war时自动装载ApplicationContext的配置信息。也就是说,tomcat加载war时,listener会读取context-param中配置文件的配置信息。如果没有指定配置文件,默认是WEB-INF下application.xml文件。
4 DispatcherServlet是spring请求的中央调度器
DispatcherServlet会是性能的瓶颈吗?
5 web app的目录结构
根目录
---WEB-INF目录 该目录下存放classes文件夹、lib文件夹和web.xml
---同WEB-INF同级目录下存放各种资源文件
WEB-INF目录是JAVA web应用的安全目录,客户端是不能访问的,只能服务器端访问。
INF是information的缩写。
Intellij在生成war包的时候将resources目录下的文件都拷贝到了WEB-INF的classes目录下和java包的class文件平行存放。
6 jar包的结构
jar包包括classes文件和资源文件,它们直接在根目录下平行存放。jar包是没有WEB-INF目录的,更没有classes目录。