Servlet基础
2016-09-25 21:54
281 查看
zxfdgdgServlet:
Java Servlet是运行在Web服务器或应用服务器上的Java程序,是web在创建动态内容的有效而强大的解决方案之一
Servlet组成:
v Web应用程序:
v Servlet和HTTP Servlet:
v 过滤器
v 安全
v 国际化
Servlet的生命周期:
Init();初始化
Service();服务
Destroy();销毁期
初始化和销毁期通常只执行一次。
Servlet的配置:
1).创建一个Servlet接口的实现类
public class HelloServlet implements Servlet
2).在web.xml文件中配置和映射这个Servlet
在web.xml中配置和映射Servlet
<servlet>
<!--Servlet注册的名字-->
<servlet-name>helloServlet</servlet-name>
<!--Servlet 的全类名-->
<servlet-class>写java类所在的包名,如com.lovo.javaWeb.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
load-on-startup参数:
1).配置在Servlet节点中
<servlet>
<!--Servlet注册的名字-->
<servlet-name>secondServlet</servlet-name>
<!--Servlet 的全类名-->
<servlet-class>写java类所在的包名,如com.lovo.javaWeb.SecondServlet</servlet-class>
<!-- 可以指定Servlet被创建的时机-->
<load-on-startup>2</load-on-startup>
</servlet>
2).load-on-startup:可以指定Servlet被创建的是,若为负数,则在第一次请求时被创建,若为0或者整数,则在当前WEB应用被Servlet容器加载时创建实例,且数值越小越早被创建.
关于servlet-mapping:
1).同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名
2).在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式,一种格式是"*.扩展名".另一种格式是以正斜杠(/)开头并以"/*"结尾.
Servlet注册名:
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>/*</url-pattern>
</servlet-mapping>
OR
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>*.html</url-pattern>
</servlet-mapping>
注意:以下的既带/有待扩展名的不合法
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>/*.action</url-pattern>
</servlet-mapping>
Servletconfig:
封装了Servlet配置信息,并且可以获取ServletContext对象.
1).配置Servlet的初始化参数.
<!-- 配置Servlet
的初始化参数 且节点必须在load-on-startup
节点的前面 -->
<servlet>
<init-param>
<!-- 参数名 -->
<param-name>user</pa
c700
ram-name>
<!-- 参数值 -->
<param-value>root</param-value>
</init-param>
</servlet>
2).获取初始化参数:
> getInitParameter(String name):获取指定参数名的初始化参数
> getInitParameterNames():获取参数名组成的Enumeration
对象.
例如:
String user = servletConfig.getInitParameter("user");
System.out.println("user" + user);
Enumeration<String> names=servletConfig.getInitParameterNames();
while(names.hasMoreElement()){
String name = names.nextElement();
String value = servletConfig.getInitParameter(name);
System.out.println("^^"+name +":"+value);
}
3).getServletName()方法时获取配置时候注册名字
ServletContext:(全局)可以为所有的Servlet
所获取,而Servlet的初始化参数只用于那个Servlet获取
1).可以有ServletConfig获取
2).该对象代表当前WEB应用:可以认为ServletContext
是当前WEB应用的一个大管家,可以从中获取当前WEB应用的各个方面的信息
①.获取当前WEB
应用的初始化参数
设置初始化参数:
<!-- 配置当前WEB应用的初始化参数
-->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
方法:
getInitParameter
getInitParameterNames
代码:
ServletContext servletContext = servletConfig.getServletContext();
String driver = servletContext.getInitParameter("driver");
②.获取当前WEB应用的某一个文件在服务器的绝对路径,而不是部署前的路径
getRealPath(String path)
③.获取当前WEB
getContextPath();
Java Servlet是运行在Web服务器或应用服务器上的Java程序,是web在创建动态内容的有效而强大的解决方案之一
Servlet组成:
v Web应用程序:
v Servlet和HTTP Servlet:
v 过滤器
v 安全
v 国际化
Servlet的生命周期:
Init();初始化
Service();服务
Destroy();销毁期
初始化和销毁期通常只执行一次。
Servlet的配置:
1).创建一个Servlet接口的实现类
public class HelloServlet implements Servlet
2).在web.xml文件中配置和映射这个Servlet
在web.xml中配置和映射Servlet
<servlet>
<!--Servlet注册的名字-->
<servlet-name>helloServlet</servlet-name>
<!--Servlet 的全类名-->
<servlet-class>写java类所在的包名,如com.lovo.javaWeb.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
load-on-startup参数:
1).配置在Servlet节点中
<servlet>
<!--Servlet注册的名字-->
<servlet-name>secondServlet</servlet-name>
<!--Servlet 的全类名-->
<servlet-class>写java类所在的包名,如com.lovo.javaWeb.SecondServlet</servlet-class>
<!-- 可以指定Servlet被创建的时机-->
<load-on-startup>2</load-on-startup>
</servlet>
2).load-on-startup:可以指定Servlet被创建的是,若为负数,则在第一次请求时被创建,若为0或者整数,则在当前WEB应用被Servlet容器加载时创建实例,且数值越小越早被创建.
关于servlet-mapping:
1).同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名
2).在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式,一种格式是"*.扩展名".另一种格式是以正斜杠(/)开头并以"/*"结尾.
Servlet注册名:
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>/*</url-pattern>
</servlet-mapping>
OR
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>*.html</url-pattern>
</servlet-mapping>
注意:以下的既带/有待扩展名的不合法
<servlet-mapping>
<!--需要和某一个Servlet节点的servlet-name子节点的文本节点一致-->
<servlet-name>helloServlet(一定要和上面的那个名字一样)</servlet-name>
<!-- 映射具体的访问路径:/代表当前WEB应用的根目录
-->
<url-pattern>/*.action</url-pattern>
</servlet-mapping>
Servletconfig:
封装了Servlet配置信息,并且可以获取ServletContext对象.
1).配置Servlet的初始化参数.
<!-- 配置Servlet
的初始化参数 且节点必须在load-on-startup
节点的前面 -->
<servlet>
<init-param>
<!-- 参数名 -->
<param-name>user</pa
c700
ram-name>
<!-- 参数值 -->
<param-value>root</param-value>
</init-param>
</servlet>
2).获取初始化参数:
> getInitParameter(String name):获取指定参数名的初始化参数
> getInitParameterNames():获取参数名组成的Enumeration
对象.
例如:
String user = servletConfig.getInitParameter("user");
System.out.println("user" + user);
Enumeration<String> names=servletConfig.getInitParameterNames();
while(names.hasMoreElement()){
String name = names.nextElement();
String value = servletConfig.getInitParameter(name);
System.out.println("^^"+name +":"+value);
}
3).getServletName()方法时获取配置时候注册名字
ServletContext:(全局)可以为所有的Servlet
所获取,而Servlet的初始化参数只用于那个Servlet获取
1).可以有ServletConfig获取
2).该对象代表当前WEB应用:可以认为ServletContext
是当前WEB应用的一个大管家,可以从中获取当前WEB应用的各个方面的信息
①.获取当前WEB
应用的初始化参数
设置初始化参数:
<!-- 配置当前WEB应用的初始化参数
-->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
方法:
getInitParameter
getInitParameterNames
代码:
ServletContext servletContext = servletConfig.getServletContext();
String driver = servletContext.getInitParameter("driver");
②.获取当前WEB应用的某一个文件在服务器的绝对路径,而不是部署前的路径
getRealPath(String path)
③.获取当前WEB
getContextPath();
相关文章推荐
- 【Java基础】第十讲 JSP与Servlet
- Servlet基础(二)
- Servlet基础
- Servlet的基础结构(转载)
- Servlet基础语法
- Servlet的基础结构
- jsp Servlet基础入门学习
- Servlet基础
- my[Java基础]JSP跳转Servlet的方法
- 1. Servlet的基础结构
- Servlet基础
- servlet基础(Tomcat的配置和应用的建立)
- jsp Servlet基础入门学习(2)
- [学习笔记]servlet基础知识整理
- 一、Servlet和JSP概述 (基础教程1)
- Servlet/JSP配置详解(非常基础)
- servlet是基础(1) --- 2004
- Servlet基础之JSP的八个隐含对象
- 企业级应用中的Applet和Servlet的通信-Java基础-Java-编程开发
- Servlet基础