jsp(一) : servlet基础

1.客户  servlet容器   servlet

2.实现接口
    #1.接口:servlet :
            constrontor 、init()、service、destroy
            getServletInfo()  getServletConfig()
3.流程
    #1.创建一个servlet类实现servlet接口
    #2.重写servlet类方法
    #3.在web.xml里配置文件
    #4.在服务器里运行
4.一个servlet可以写多个servlet-mapping
    映射只有两种方式:*.扩展名  ||  以/开头并以/*结尾
 
5.ServletConfig:
    #1.封装了Servlet配置信息,并且获取ServetContext对象
     #2. String     getInitParameter(String name)
            Enumeration     getInitParameterNames()
            ServletContext     getServletContext()
            String      getServletName()
    #3.配置servlet初始化参数
            *1.在web.xml内配置
            *2.局部的初始化参数(只有servlet可以获取,给要给servlet用)
6.ServletContxt:
    #1.可以获取web信息的全面信息,大管家
        *1.设置全局初始化参数(给多个servlet用)
            String     getInitParameter(String name)
            Enumeration     getInitParameterNames()
    #2.获取当前web应用的一个文件的绝对路径
            getRealPath();(获取的服务器上的绝对路径,而不是部署前的路径)
    #3.获得当前web应用名称:
            getContextPath()
    #4.获取当前web应用的某个文件的对应输入流
            getResourceAsStream(String pahth): path 相对于当前web的根目录
 
7.ServletRequest:封装了请求信息,可以从中获取任何请求信息
    #1.方法:
        String     getParameter(string name):根据请求参数名,返回参数值
         Map        getParameterMap():
        String[]     getParameterValues(String name)
        Enumeration  getParameterNames()
    #2.获取请求的URL
    进行强转:HttpServletRequest   (请求相关的方法)
                        getMethod()        getQueryString()
                        getServletPath()    getRequsetURI()
 
8.ServletResponce:封装了响应信息,如果想给用户传什么信息
    #1.方法:
        getWriter()://返回要给PrinterWriter对象,调用print,打印到浏览器上
        setContentType()    //设置返回类型 
 
9.属性相关:
       #1.方法
            Object getAttribute(String name);
             Enumeration getAttributeNames();
            removeAttribute(String name)
            void   setAttribute(String name, Object o)
        #2.对象
            pageContext : 作用范围仅限于当前页面
            request: 作用范围为同一个请求
            session :    作用范围为同一个会话(浏览器打开到关闭)
            application  :  作用范围为web应用
 
10.请求转发
    #1.RequstDispatcher接口  #forward(path):只发出一次请求(请求转发):只能转发到当前页面
                “/”代表当前web应用的根目录
    #response.sendRedirect(path):  向服务器发送两个请求(请求重定向):可以重定向到资源
                代表当前web站点的根目录
 
 jsp指令:告诉jsp引擎如何处理页面的其他部分
1.page、 include 、 taglib
2.page指令:指定当前页面的属性,(可放于任何位置,但通常放于首页)
    #1、language="java" 
            contentType="text/html"  :指定当前页面相应类型,实际调用类型(可以为html ,doc等格式)
             charset = "UTF-8"        :指定返回页面的编码:("UTF-8")
            pageEncoding = "UTF-8"    :指定当前页面的字符编码,通常可contentType一致
            impot = “java.util.*”    :导入页面的类包
            extend=".class"
            session="true| false"    
            errorPage = "url"  :转发到指定错误页面 ,也可以在web.xml配置错误页面
               
     <error-page>
            <error-code>404</error-code>
             <location>/WEB-INF/error.jsp</location>
     </error-page>
 
      <error-page>
          <exception-type>java.lang.ArithmeticException</exception-type>
             <location>/WEB-INF/error.jsp</location>
       </error-page>    
            isErrorPage = "true | false" :会显示错误信息
            isELIgnored = "true | false"   :指定当前页面是否可以使用EL表达式,通常取值为true
3.include: 用于通知jsp引擎在翻译当前页面时将其他文件的内容合并到当前页面转换成的Servlet源文件中
                        ,成为静态导入,当前jsp页面与静态引入的页面紧密的结合为一个servlet
    #1.<%@ include file = "relativeURL" %>   
 
4.taglib:标签
    #1.jsp:include page="url"
            *1.<jsp:include > 动态包含,有两个.java文件
    #2.jsp:forward page="url"
            *1.相当于转发
            *2.使用jsp:forward可以使用jsp:param子标签向b.jsp传入一些参数
                <jsp:forward page="b.jsp">
                        <jsp:param value = "abc" name="user"/>
                </jsp:forward>
                <%= request.getParmeter("user")%>
原文地址:https://www.cnblogs.com/izxcheng/p/4001312.html