002-EE-0004-servlet

请求转发
    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对象获得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值