请求转发
request.getRequestDispatcher("要转发的路径,不要带项目名").forward(request,response);
重定向
response.sendRedirect("要重定向的路径,要带项目名this.getServletContext().getContextPath()");
在servlet中获取项目名称
this.getServletContext().getContextPath();
EL表达式
EL从四个域中获得某个值${key};
引入JSTL
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSTL常用标签
<c:if test=""></c:if>
<c:forEach items="" var=""></c:forEach>
在JSP中获取项目名称
${pageContext.request.contextPath}
JSP包含
<jsp:include page="被包含的页面"/>
JSP转发
<jsp:forward page="要转发的资源" />
获取请求参数的方法
String getParameter(String name)
String[] getParameterValues(String name)
Enumeration getParameterNames()
Map<String,String[]> getParameterMap()
封装数据(需要导入commons-beanutils-1.8.3.jar)
BeanUtils.populate(bean, properties);//参数properties是从表单获取数据,bean是把获取的数据封装到这个bean中
Servlet生命周期
* 默认第一次访问的时候创建
* 可以配置服务器启动的时候创建
Servlet销毁
* 服务器关闭servlet销毁
每次必然访问的方法
* service(ServletRequest request,ServletResponse response)
Servlet接口中的方法
* init(ServletConfig config)
* ServletConfig : 代表的是该servlet对象的配置信息
* service(ServletRequest request,ServletResponse response)
* ServletRequest :代表请求,可以认为ServletRequest 内部封装的是http请求的信息
* ServletResponse :代表响应,可以认为ServletResponse 要封装的是http响应的信息
* destroy()
HttpServlet类的方法
* init()
* doGet(HttpServletRequest request,HttpServletResponse response)
* doPost(HttpServletRequest request,HttpServletResponse response)
* destroy()
Servlet配置
<!-- servlet类的配置 -->
<servlet>
<servlet-name>自定义名称</servlet-name>
<servlet-class>servlet的全路径</servlet-class>
</servlet-mapping>>
<!-- servlet虚拟路径的配置 -->
<servlet>
<servlet-name>自定义名称</servlet-name>
<url-pattern>/quickStartServlet</url-pattern>
</servlet-mapping>>
url-pattern的配置方式
* 完全匹配
* <url-pattern>/quickStartServlet</url-pattern>
* 目录匹配:/虚拟的目录../* (*代表任意)
* <url-pattern>/a/b/c/*</url-pattern>
* 扩展名匹配
* <url-pattern>*.abcd</url-pattern>
* 目录匹配和扩展名匹配不能一起用
* /a/b/c.*是错误的
配置缺省<servlet>
* url-pattern配置为/
* 当访问的路径所有<servlet>都不能匹配时就匹配缺省路径
* <url-pattern>/</url-pattern>
ServletContext对象
* ServletContext代表是一个web应用的环境(上下文)对象
* ServletContext对象 内部封装是该web应用的信息
* ServletContext对象一个web应用只有一个
* 服务器启动的时候创建
* 服务器关闭的时候摧毁
获取ServletContext对象
* ServletContext servletContext = config.getServletContext();
* ServletContext servletContext = this.getServletContext();
ServletContext获取全局初始化参数
* web.xml中初始化参数
<context-param>
<param-name>dirver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
* 通过servletContext获取参数
* this.getServletContext.getParameter("Driver");
获取web应用中任何资源的绝对路径
* this.getServletContext.getRealPath("相对该web应用的相对路径");
ServletContext是一个域对象
* setAttribute(String name, Object obj);
* getAttribute(String name);
* removeAttribute(String name);
ServletContext 与application的异同
相同:
* 其实servletContext和application是一样的,就相当于一个类创建了两个不同名称的变量
* 在servlet中ServletContext就是application对象
不同:
* application用在jsp中,servletContext用在servlet中
* application和page,request,session都是JSP中的内置对象
* 在后台用ServletContext存储的属性数据可以用application对象获得
002-EE-0004-servlet
最新推荐文章于 2024-08-18 15:12:28 发布