更新时间:2020-04-17 13:50:58 来源:极悦 浏览2022次
1.JavaWeb模块结构
JSP文件和AXPX文件类似,路径和URL一一对应,都会被动态编译为单独class。JavaWeb和ASP.NET的核心是分别是Servlet和IHttpHandler接口,因此无论是基础的Page文件(JSP、ASPX)方式还是后来发展的MVC方式(SpringMVC、ASP.NETMVC)都是基于核心接口的基础上再次封装和扩展(DispatcherServlet、MvcHandler)。
除JSP文件外,其他全部文件部署在应用目录的WEB-INF子目录下,WEB-INF目录可以认为是ASP.NET中将web.config文件、bin目录和App_开头的运行时目录存放在了一个统一的根目录中。
JavaWeb的配置文件web.xml也存放在WEB-INF目录下,而ASP.NET的配置文件web.config一般直接存放在应用目录下(ASP.NET其他目录同样可以有web.config文件)。ASP.NET将所有的引用和代码生成的dll都部署在bin中,而JavaWeb的引用jar和生成的class分别存放在WEB-INF的子目录lib和classes中(参考1)。
综上,类似ASP.NET中的web.config、bin、App_Data等,JavaWeb中的WEB-INF、web.xml、lib和classes是我们必须了解和掌握的。
|--AssemblyRoot
|---WEB-INF/
|--web.xml
|--lib/
|--classes/
WEB-INF目录:JavaWeb文件的根目录。
web.xml文件:配置文件(asp.netweb.config)。
lib目录:存放类库文件(asp.netbin)。
classes目录:存放class文件(asp.netbin)。
servlet基础
正如ASP.NET的核心是IHttpHandler一样,JavaWeb的核心是Servlet接口,位于javax.servlet命名空间中。Filter的概念可以参考ASP.NET的HttpModule,Servlet中的各种Listener可以参考ASP.NETHttpApplicaiton中类似的event。无论是Java还是.NET的Web技术,都是基于HTTP协议的具体实现。JavaWeb和ASP.NET中的一些核心项对应如下:
Servlet和ASP.NET的简化示意图:
用于简化web.xml配置的Servlet的注解(3.0开始支持,在ASP.NET中没有对应项):
(1)WebServlet:作用在javax.servlet.http.HttpServlet的实现类上。
(2)WebFilter:作用在javax.servlet.Filter的实现类上。
(3)WebListener:作用在Listener的实现类上(javax.servlet.ServletContextListener、javax.servlet.ServletContextAttributeListener、javax.servlet.ServletRequestListener、javax.servlet.ServletRequestAttributeListener、javax.servlet.http.HttpSessionListener、javax.servlet.http.HttpSessionAttributeListener)。
(4)WebInitParam:结合WebServlet和WebFilter注解用来配置属性。
(5)MultipartConfig:作用在javax.servlet.http.HttpServlet的实现类上。标注请求是mime/multipart类型。
用于Servlet容器初始化的ServletContainerInitializer(可实现无web.xml,3.0开始支持,可类比ASP.NET的Application_Start方法):
(1)Servlet容器启动时查找ServletContainerInitializer的实例。
(2)ServletContainerInitializer实例使用HandlesTypes标注一个或多个类型,Servlet容器将在启动时扫描classpath,获取这些类型的实例。
(3)Servlet容器在启动时调用ServletContainerInitializer实现类的onStartup方法,该方法可以获取HandlesTypes标注的所有类型对象。
以上就是极悦java培训机构的小编针对“项目基础系列:Javaweb项目架构教程”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
Javaweb热门基础学习
EL&JSTL:
Filter&Listener:
JSP:
Servlet:
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习