站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        jsp速成精華

        Servlet三個(gè)要素:
        1.必須繼承自HttpServlet
        2.必須實(shí)現(xiàn)doGet()或者doPost()
        3.必須在web.xml中配置Servlet
        <servlet>
        <servlet-name> </servlet-name>
        <servlet-class> </servlet-class>
        </servlet>
        <servlet-mapping>
        <servlet-name> </servlet-name>
        <url-pattern> </url-pattern>
        </servelt-mapping>

        HttpServeltRrequest:請(qǐng)求對(duì)象
        getParameter():獲得表單元素的值
        getAttribute():獲得request范圍中的屬性值
        setAttribute():設(shè)置reqeust范圍中的屬性值
        setCharacterEncoding():設(shè)置字符編碼

        HttpSerletResponse:相應(yīng)對(duì)象
        sendRedirect():外部跳轉(zhuǎn)
        getWriter():獲得輸出流對(duì)象
        setContentType(“text/html; charset=utf-8”):設(shè)置相應(yīng)內(nèi)容格式和編碼

        四種會(huì)話跟蹤方式:
        1.Session
        HttpSession session = request.getSession();
        session.setAttribute(“name”, “zhangsan”);
        session.setAttribute(“pwd”, “aaa”);
        String name = (String) session.getAttribute(“name”);

        2.cookie:
        //創(chuàng)建Cookie
        Cookie cookie = new Cookie(“name”, “zhangsan”);
        //設(shè)置Cookie的超時(shí)時(shí)間
        cookie.setMaxAge(24 * 60 * 60 *60);
        //把Cookie發(fā)送到客戶端
        response.addCookie(cookie);

        //得到客戶端發(fā)送的Cookie
        Cookie [] cookies = request.getCookies();
        for(int i=0; i <cookies.length; i++) {
          Cookie temp = cookies;
          String key = temp.getName();
          String value = temp.getValue();
        }

        3.隱藏表單域
        <input type=”hidden” name=”name” value=”zhangsan” />
        request.getParameter(“name”);

        4.Url重寫
        問(wèn)號(hào)傳參
        LoginServlet?username=zhangsan&pwd=123
        String name = request.getParameter(“username”);
        String pwd =request.getPareameter(“pwd”);

        內(nèi)部跳轉(zhuǎn):
        LoginServlet
        request.getRequestDispatcher(“index.jsp”).forward(request, resposne);
        外部跳轉(zhuǎn):
        response.sendRedirect(“index.jsp”);
        內(nèi)部跳轉(zhuǎn)是一次請(qǐng)求和一次響應(yīng)
        外部跳轉(zhuǎn)是兩次請(qǐng)求和兩次響應(yīng)

        ServletContext:Servlet上下文對(duì)象
        它是一個(gè)公共區(qū)域,可以被所有的客戶端共享
        setAttribute():向公共區(qū)域里放入數(shù)據(jù)
        getAttribute():從公共區(qū)域里取數(shù)據(jù)

        二:
        三:三個(gè)標(biāo)準(zhǔn)范圍:request, session, ServletContext
          共同點(diǎn):都有setAttribute(), getAttribute()
          區(qū)別:范圍不同,request < session < servletContext
        四:四種會(huì)話跟蹤方式
        五:服務(wù)器上的五大對(duì)象
          request, response, servlet, session, servletContext
         
        Jsp:Java Server Page
        頁(yè)面構(gòu)成:7種元素
        1.靜態(tài)內(nèi)容:html
        2.指令:page, include, taglib:
        <%@ 指令名 屬性1=”屬性值1″ 屬性2=”屬性值2″ %>
        3.表達(dá)式: <%=表達(dá)式 %>
        4.Scriptlet <% Java代碼 %>
        5.聲明: <%! %>:變量和方法
        6.動(dòng)作: <jsp:動(dòng)作名 屬性=”屬性值”> </jsp:動(dòng)作名>
        7.注釋:
        客戶端看不到的: <%– –%>
        客戶端可以看到的: <!– –>

        Jsp的執(zhí)行過(guò)程:
        1.轉(zhuǎn)譯:Jsp—>Servlet
        2.編譯:Servlet—->.class
        3.執(zhí)行:.class
        第一次訪問(wèn)jsp的時(shí)候響應(yīng)速度較慢,后面請(qǐng)求時(shí)響應(yīng)速度快

        腳本:
        表達(dá)式: <%= %>
        Scriptlet: <% %>
        聲明: <%! %>

        指令:
        page:language, import, errorPage, isErrorpage
        include:file
        taglib:uri:指定標(biāo)簽庫(kù)描述符的路徑 prefix:指定標(biāo)簽的前綴

        隱式對(duì)象:
        分類:
        1.輸入和輸出對(duì)象:request(HttpServletRequest),
                        response(HttpServletResponse),
                        out(JspWriter), servlet中的out是PrintWriter
        2.作用域通信對(duì)象:pageContext, request,
                        session(HttpSession),
                        application(ServletContext)
        3.Servlet對(duì)象:page(this), config
        4.錯(cuò)誤對(duì)象:exception
           
        JavaBean:
        一個(gè)標(biāo)準(zhǔn)的JavaBean有三個(gè)條件
        1.共有的類
        2.具有不帶參數(shù)的公共的構(gòu)造方法
        3.具有set()和get()方法
        4.私有屬性

        Jsp中的標(biāo)準(zhǔn)動(dòng)作:
        1.useBean:創(chuàng)建JavaBean的一個(gè)實(shí)例
        <jsp:useBean id=”stu” class=”com.westaccp.test.Student” scope=”page/session/application/request” />
        2.setProperty:給JavaBean的屬性賦值
        <jsp:setProperty name=”stu” property=”stuName” value=”zhangsan” />
        <jsp:setProperty name=”stu” property=”stuName” param=”txtName” />
        value和param不能同時(shí)使用
        偷懶的方法: <jsp:setProperty name=”stu” property=”*” />
        這個(gè)時(shí)候需要注意的是,表單元素的名字必須和JavaBean的屬性值
        一模一樣
        3.getProperty:獲得JvaBean的屬性值
        <jsp:getProperty name=”stu” property=”stuName” />
        4.forward:內(nèi)部跳轉(zhuǎn),相當(dāng)于request.getRequestDispatcher().forward(request, response);
        <jsp:forward page=”index.jsp” />
        5.include:包含
        <jsp:include page=”header.jsp” flush=”true” />

        表達(dá)式語(yǔ)言:
        EL: Expression Language
        語(yǔ)法格式: ${表達(dá)式 }
        表示式 = 運(yùn)算符 + 操作數(shù)
        運(yùn)算符:跟Java比較,多了一個(gè)empty, 少了一個(gè)賦值運(yùn)算符
        ${empty “”} : true
        ${empty null} :true
        操作數(shù):
        –>常量:布爾型(true/false), 整型, 浮點(diǎn)型, 字符串(可以用”, 還可以用””), Null
        –>變量:
            1.指的是放在四個(gè)標(biāo)準(zhǔn)范圍里的屬性(page, request, session, application)
            2.在編準(zhǔn)范圍內(nèi)的搜索順序:page–>request—>session—>application
            3.怎么取得變量值:點(diǎn)運(yùn)算符., 還以用[]
            <%
              request.setAttribute(“name”, “lisi”);
            %>
            ${requestScope.name}
            或者
            ${requestScope[“name”]}
        –>隱式對(duì)象
            1.pageContext:通過(guò)它可以訪問(wèn)request, session, servletContext
            2.跟范圍由關(guān)的:pageScope, requestScope, sessionScope, applicationScope
            3.跟輸入有關(guān)的:param, paramValues
            4.其他的:header, cookie, headervalues,

        EL表達(dá)式適用的場(chǎng)合:
        1.可以在靜態(tài)文本中使用
        2.與自定義標(biāo)簽結(jié)合使用
        3.和JavaBean結(jié)合使用
        <jsp:userBean id=”stu” class=”com.westaccp.test.Student” scope=”session” />
        <jsp:setProperty name=”stu” property=”stuName” value=”hello” />
        ${stu.stuName}

        自定義標(biāo)簽:
        1.標(biāo)簽處理程序?qū)崿F(xiàn)
        —>實(shí)現(xiàn):繼承自BodyTagSupport或者TagSupport
                  一般會(huì)重寫doStartTag(), doEndTag(), doAfterBody()
        —>描述:在標(biāo)簽庫(kù)描述符文件中描述(.tld)
            <taglib>
              <tlib-version>1.0 </tlib-version>
              <jsp-version>2.0 </jsp-version>
              <short-name>simpletag </short-name>
           
              <tag>
                <name>showbody </name>
                <tag-class>com.westaccp.test.ShowBodyTag </tag-class>
                <body-content>empty/jsp </body-content>
                <attribute>
                <name>color </name>
                </attribute>
              </tag>
            </taglib>
        —>使用: <%@ taglib uri=”WEB-INF/mytag.tld” prefix=”my” %>
                  <my:showbody />
        2.標(biāo)簽文件
        —>實(shí)現(xiàn)和描述
            在.tag文件中實(shí)現(xiàn)
            設(shè)置主體內(nèi)容: <%@ body-content=”empty/scriptless” %>
            設(shè)置屬性: <%@ attribute name=”name” required=”true” rtexprvalue=”true” %>
            有主體內(nèi)容: <jsp:doBody scope=”session” var=”theBody” />
            <%
                String body = (String) session.getAttribute(“theBody”);
            %>
        —>使用
            WEB-INF/tags/sayhello.tag
            <%@ taglib tagdir=”/WEB-INF/tags/” prefix=”you” %>
            <you:sayhello />
           
        標(biāo)準(zhǔn)標(biāo)簽庫(kù):
        1.核心標(biāo)簽庫(kù)
        –>通用:
            set: <c:set var=”” value=”” scope=”” />
            out: <c:out value=”” />
            remove: <c:remove var=”” scope=”” />
        –>條件:
            if: <c:if test=””>….. </c:if>
            choose: <c:choose>
                    <c:when test=””>… </c:when>
                    <c:when test=””>… </c:when>
                    <c:when test=””>… </c:when>
                        …..
                        <c:otherwise>… </otherwise>         
                    </c:choose>
        –>迭代:
            forEach: <forEach var=”” items=”” varStatus=”” begin=”” end=””>
            foTokens: <foTodens var=”” items=”” delim=”,; |”> </foTodens>
            Java,C#;SQL |C
        2.I18N與格式化標(biāo)簽庫(kù)
        –>setLocale:設(shè)置本地區(qū)域
        –>bundle:設(shè)置資源包
        –>setBundle:設(shè)置資源包
        –>message:輸出消息
        3.SQL標(biāo)簽庫(kù)
        –>setDataSource:設(shè)置數(shù)據(jù)源,用于獲得與數(shù)據(jù)庫(kù)的連接
        –>query:執(zhí)行查詢
        –>update:執(zhí)行增,刪,改
        –>transaction:事務(wù)
        –>param:參數(shù)
        4.XML標(biāo)簽庫(kù)

        過(guò)濾器:
        生命周期:
        1.實(shí)例華:
        2.初始化:init()
        3.過(guò)濾:doFilter()
        4.銷毀:destroy()
        5.不可用

        配置:
        <filter>
        <filter-name> </filter-name>
        <filter-class> </filter-class>
        </filter>
        <filter-mapping>
        <filter-name> </filter-name>
        <url-pattern> </url-pattern>
        </filter-mapping>

        幾個(gè)重要的接口:
        1.Filter:init(), doFilter(), destroy()
        2.FilterChain: doFilter(request, response)
        3.FilterConfig:getFilterName(), getInitParameter(),

        過(guò)濾器鏈:—>1—>2—>3—>Servlet 請(qǐng)求
                <—-1 <—2 <—3 <—        響應(yīng)
               
        MvC設(shè)計(jì)模式
        1.ModelI:jsp+JavaBean
        2.ModelII:jsp+Servlet+JavaBean
                  jsp—view
                  servlet—control
                  javabean—model

        MVC:
        M–Model:模型:訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù)
        V–view:視圖:展示
        C–control:控制器:控制程序流程

        ModelII和MVC的關(guān)系:
        MVC是一種設(shè)計(jì)模式,ModelII它是MVC的一種具體的實(shí)現(xiàn)

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 日韩一级精品视频在线观看| 精品露脸国产偷人在视频| 久久精品国产91久久综合麻豆自制 | 亚洲国产精品久久66| 日韩精品区一区二区三VR| 精品一久久香蕉国产线看播放| 欧美精品亚洲精品日韩1818| 国产AV午夜精品一区二区三区| 无码精品人妻一区二区三区人妻斩 | 国产成人精品日本亚洲专区| 国产成人精品免费视频大| 无码精品国产一区二区三区免费| 久久久久人妻精品一区三寸蜜桃| 国产成人精品日本亚洲专区| 欧美精品高清在线观看| www.99精品| 3D动漫精品一区二区三区| 人妻少妇精品视中文字幕国语| 天天爽夜夜爽8888视频精品| 久久久久久极精品久久久| 久久99精品久久久久久不卡| 国产精品99| 国产精品免费看久久久香蕉| 国产高清在线精品一区二区三区| 亚洲国产精品久久久久婷婷软件| 国产成人精品日本亚洲专一区 | 中日精品无码一本二本三本| 日韩精品无码免费视频| 久久精品国产99国产精品| 精品无码久久久久久久久久| 精品无码久久久久久久动漫| 蜜臀av无码人妻精品| 无码人妻精品一区二| 亚洲欧洲国产精品香蕉网| 最新精品露脸国产在线 | 国产成人亚洲综合无码精品| 久久久久久国产精品无码超碰 | 中文精品久久久久人妻| 午夜欧美精品久久久久久久| 亚洲国产成人一区二区精品区| 亚洲国产另类久久久精品黑人|