Servlet
Servlet配置信息
<!--配置servlet的信息-->
<servlet>
<!--servlet的名字-->
<servlet-name>myservlet</servlet>
<!--servlet所对应的类==包名.类名-->
<servlet-class>mytest.MyServlet</servlet-class>
</servlet>
<!--配置servlet的映射-->
<servlet-mapping>
<!--servlet的名字-->
<servlet-name>myservlet</servlet>
<!--url地址-->
<url-pattern>/servlet/MyServlet</url-pattern>
</servlet-mapping>
Servlet特性
- servlet是支持多线程的
ServletConfig
- 主要用于获取初始化参数
配置初始化参数,出现在之前
<init-param>
<!--参数的键-->
<param-name></param-name>
<!--参数的值-->
<param-value></param-value>
</init-param>
获取ServletConfig的方法
- 通过init(ServletConfig config) 由web容器注入进来
- 直接调用父类的getServletConfig()来获取ServletConfig实例
ServletContext
- 一个用于获取全局初始化参数,并且可以实现Servlet之间进行通信的全局化对象。
- 通过ServletConfig.getServletContext()或者getServletContext()获取ServletCOntext实例
- 在web容器加载应用时就创建好了。
- 作为四大域对象之一,用于应用范围内的数据共享
- 通过getRealPath()方法将相对路径转换为绝对路径,可以用于实现下载功能。
转发和重定向
- 转发
- 地址栏不变
- 浏览器只向服务器发送了一次请求
- 放在request的值可以共享
- getServletContext().getRequestDispatcher()获取转发器
- 重定向
- 地址栏改变
- 浏览器向服务器发送了两次请求
- 放在request的值不可以共享
- response.sendRedirect()