servlet第一部分
web项目的源码目录
介绍一种建立maven工程比较快的方式
-
第一步: new Project --> java Enterprise --> Web Applocation (当然,选择好你的SDK和tomcat)。此时非maven的javaweb工程已经建好。
-
第二步: 右键项目,选择 add Framework support, 然后在弹出框选择maven。至此,项目已经支持maven构建了。
支持maven的工程目录如下:
-
第三步: 此时maven工程虽然建好了,但是还需要创建好javweb的web目录。window的idea右键工程,选择project structure。mac的工程选择菜单栏File,然后project structure。
然后选择“Modules”,点击“项目名,如untitled3”, 点击 “web”。其中“Deployment Descriptors”是指定web.xml文件。Web Resource Directories”是指定web目录,且该目录会被编译到项目的根目录下。 -
“Deployment Descriptors”,点击+号,此时会指定创建web.xml的位置,注意要指定到项目的web目录。(默认给的路径是项目的根路径,需要改。)
-
“web Resource directories”指定web目录。
对应aritifacts中的‘web’ facet resources。 所以这个源码中web文件会被编译到 根目录。
maven基础的javaweb工程源码目录结构
|--- pom.xml
|--- src
|--- main
|--- java
|---- 包名
|----- controller
|--- resource
|--- test
|--- java
|--- web
|--- WEB-INF
|---- jsp
|---- html
|---- web.xml
servlet
什么是servlet?
java servlet是运行在web服务器上的程序。它能接受来自http客户端的请求数据,并且根据数据库或者其他的数据源,来动态创建网页。
Servlet体系结构
servlet接口
定义接口,用于接受传递的参数。ServletConfig, ServletContext, ServletRequest, ServletResponse。
- init( ServletConfig ):void 参数为从StandardContextValue中传递过来的ServletConfig。ServletConfig包含 tomcat中server.xml中信息ServletContext, 以及web.xml中的的初始化信息。
- service( ServletRequest, ServletResponse ):void 接受中传递过来的ServletRequest, ServletResponse.
GenericServlet抽象类
定义抽象类,实现从中获取的参数,以及web.xml中参数的保存以及处理。
-
定义了ServletConfig成员变量,接受init(ServletConfig)中的serveltConfig对象。其中,servletConfig中包含servletContext应用上下文对象。
-
提供了ServletConfig中自身以及属性获取方法
- 获取ServletConfig的方法
+ getServletConfig():ServletConfig;
- 获取ServletContext的方法
+ getServletContext():ServletContext;
- 获取web.xml中初始化参数
+ getInitParameter(String):String; + getInitParameters():Enumeration<String>;
-
抽象方法为:
+ service( ServeltRequest, ServletResponse ):