1.介绍:Java Servlet是和平台无关的服务器端组件,他运行在Servelt容器中。Servelt容器负责Servelt和客户的通讯以及
调用Servelt的方法。
2.Servlet容器响应客户请求的过程。
3 3.1创建实现Servlet接口的实现类
public class HellowServlet implements Servlet(){
}
3.2 配置和映射Servlet(web.xml文件中)
<!-- 配置和映射Servlet -->
<servlet>
<!-- Servlet注册名 -->
<servlet-name>hellowServlet</servlet-name>
<!-- Servlet全类名 -->
<servlet-class>com.lishenhuan.app.HellowServlet</servlet-class>
<!-- 指定Servlet被创建的时机-->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hellowServlet</servlet-name>
<url-pattern>/hellow</url-pattern>
</servlet-mapping>
解释:通配饰和映射web.xml文件。可以实现通过浏览器调用该类。
3.2.1 如果不配置是无法实现直接调用的。
3.2.2 <servlet></servlet>:<servlet-class></servlet-class> 指向的是java中的一个实体类,通过全类名作为
地址。 <servlet-name></servlet-name> 为指向的类重命名,当有用到名字的地
方,代表的就是该实体类。<load-on-startup></load-on-startup>指定Servlet被
创建的时机,Servlet容器加载时创建实例,数字越小创建越早。
3.2.3 <servlet-mapping></servlet-mapping>:<url-pattern></url-pattern>浏览器调用时名字,
/hellow其中/代表根目录。
4.Servlet生命周期的方法:以下方法都是由Servlet容器调用。
5.Servlet容器响应客户请求的过程。
6.Servlet的注册和运行。
7.关于servlet-mapping:
8.ServletConfig接口:Servlet配置信息。(ServletConfig是一个接口,是由服务器厂商实现的,无需自己实现)
8.1 配置初始化参数。
<servlet>
<servlet-name>hellowServlet</servlet-name>
<servlet-class>com.lishenhuan.app.HellowServlet</servlet-class>
<!-- 设置初始化参数 -->
<init-param>
<param-name>user</param-name>
<param-value>llishenhuan</param-value>
</init-param>
<init-param>
<param-name>pasword</param-name>
<param-value>123000</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hellowServlet</servlet-name>
<url-pattern>/hellow</url-pattern>
</servlet-mapping>
8.2.获取初始化参数。
>getInitParameter(String paramString):获取指定参数的名的初始化参数。
>getInitParameterNames():获取参数名组成的Enumeration对象。
8.3 获取Servlet的配置名称。
>getServletContext():获取Servlet的配置名称
8.4 ServletContext 该对象代表当前的web应用。
8.4.1
ServletContext .getInitParameter()
ServletContext .getInitParameterNames()
设置初始化参数:<init-param></init-param>
<param-name></param-name>
<param-value></param-value>
注意:此处的初始化参数 VS 上面servlet中的参数
<init-param></init-param>:中的参数为全局参数,任意的servlet都可以获取到。
<servlet></servlet>:中的参数只能让当前的servlet调用。
8.4.2 getRealPath(String fileName) 获取文件部署在服务器上的绝对路径。
String realPath = servletContext.getRealPath("/Ajax.pptx");
System.out.print(realPath);
//E:\workspace_ajax\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\firstApp1\Ajax.pptxservice
8.4.3 getContextPath() 获取当前项目名
String name = servletContext.getContextPath();
System.out.println(name);