关闭

JSP整合

205人阅读 评论(0) 收藏 举报

两个部分:servlet和jsp
 
servlet:1.生命周期
 
    2.API类
 
    3.会话跟踪技术
 
    4.过滤器
 
    5.监听器
 
jsp:  1.标准动作
 
    2.el表达式
 
    3.jstl
 
    4.自定义标签
 
    5.生命周期
 
   jsp
        1.标准动作: 以<jsp:开头>
     动态包含
    <jsp:include page="a.jsp">
       <jsp:param name="name" value="张三"></jsp:param>
       <jsp:param name="sex"  value="男"></jsp:param>
    </jsp:include>
 
    转发
    <jsp:forward page="/绝对不能加工程名">
    </jsp:forward>
          
    request.getRequestDispatcher("/绝对不能加工程名").forward(request,response); //servlet
    重定向
      <form action="">
             <a href="">
      <script>
        location =
      </script>
 
      response.sendRedirect("");//Servlet
 
           
   
    从作用域中取对象,取不出来,就创建,然后保存作用域
    id=stu是作用域的键
    <jsp:useBean id="stu" class="com.beans.Student" scope="page/request/session/application"></jsp:useBean>
 
 
 
           给属性赋值
    <jsp:setProperty name="stu" property="sid" value="100"></jsp:setProperty>
 
   
    取值${stu.sid}
    <jsp:getProperty name="stu" property="sid"></jsp:property>
 
   2.el表达式
        算术运算
               ${1+2}        //3
        ${"1"+2}     //3
        ${"1"+"2"}  //3
        ${1/2}     //0.5
        ${"a"+"b"}  //报错
 
        关系
        ${3>2}   ${3 gt 2}
        ${2<3}   ${2 lt 3}
        ${2==3}  ${2 eq 3}
        ${2!=3}  ${2 ne 3}
        ${2>=3}  ${2 ge 3}
        ${2<=3}  ${2 le 3}
 
        逻辑
        ${ ! true}            ${not true}
        ${true && false}      ${true and false}
        ${true || false}      ${true or false}
 
        空
        ${empty ""}
 
        三元
        ${ ? : }
 
        隐式对象
        ${param.x}
        ${pageScope.x}
        ${requestScope.x}
        ${sessionScope.x}
        ${applcationScope.x}
        ${pageContext.request.contextPath}
 
      
        ${cookie.x}
        ${header.x}
         ${paramValues.x}
 
               禁用:
           1.\${1+2}
    2.<%@page isELIgnored="true"%>
    3.在web.xml(要删除work下内容)
     <jsp-config>
       <jsp-property-group>
   <url-pattern>*.jsp</url-pattern>
   <el-ignored>true</el-ignored>
       </jsp-property-group>
    </jsp-config>
 
 
 

 3.jstl
    标准标签库
    1.核心
       通用(对变量操作)
         <c:set var="x" value="1+2" />
  <c:out value="${x}"/>
  <c:remove var="" />
       条件
         <c:if test="${}" var="f">
  </c:if>
 
  <c:if test="${not f}">
  </c:if>
 
  <c:choose>
    <c:when test=""></c:when>
    <c:otherwise></c:otherwisze>
  </c:choose>
 

       迭代
         <c:forEach items="${list}" var="i" varStatus="x">
                </c:forEach>
 
 
 
  <c:forEach  var="i" varStatus="x" begin="1" end="100" step="1">
  </c:forEach>
 
 
  <%
    String str = "sunjob,good";
    pageContext.setAttribute("str",str);
   %>
 
  <c:forTokens items="${str}" delims="," var="x">
    ${x } <br>
  </c:forTokens>
 
    2.格式化
       <fmt:formatDate value="" pattern="" >
       <fmt:formatNumber value="" pattern="">
    3.SQL标签
      ${fun:length(x)}
    4.函数
 
 4.自定义标签
     标签处理类(继承SimpleTagSupport类,重写doTag方法)
     标签库描述文件(WEB-INF/xx.tld)
     导入描述文件(<%@taglib prefix="" uri="" %>
 指令
     静态包含
     <%@include file="" %>
 注释
     <!-- -->
     <%-- --%>
 静态
    html/css/javascript
 小脚本
    <% 生成代码是serivce内 %>
 表达式
    <%= 也是service内,相当out  %>
 声明
    <%! 生成代码是service外面 %>
 隐式对象
    范围 pageContext/request/session/application
    输入输出:out,response,request
    其它:page/config/exception 

    直接可以使用是8个,exception要
    <%@page isErrorPage="true" %>
 
 
 
     5.生命周期
          转译-->编译
   转译:jsp-->java代码
   编译:java-->.class
 
------------------------------------
 
   servlet
        1.生命周期
    加载-->实例化-->初始化--》服务--》销毁
        2.API类
    HttpServletRequest
           request.getQueryString();  ?后面的内容
    request.getContextPath();  工程名
    request.getServletPath();  网页名
    request.getAttribute("");
    request.setAttribute("","");
    request.getParameter("");
    request.getParameterValues("");
    request.getRequestDispatcher("").forward(request,response);
    request.getSession();
    request.setCharacterEncoding("utf-8");
    HttpServletResponse
           response.getWriter();
    response.sendRedirect("");
    response.setContentType("text/html;charset=utf-8");
 

          
    HttpSession
           session.setAttribute("");
    session.getAttribute("");
    session.getServletContext();
    ServletContext
           setAttribute("");
    getAttribute("");
    getRealPath("");
    ServletConfig
        3.会话跟踪技术
    session
    cookie
    隐藏表单域
    url重写
 
 4.过滤器
    实现javax.servlet.Filter接口,在web.xml注册和映射
 

 5.监听器
    实现接口如ServletContextListener/HttpSessionListener
    在web.xml注册
    <listener>
       <listener-class>类名</listener-class>
    </listener>
 
    
 
-----------------------------------------------   
   model
       DAO
       Entity
       连接池
 

log4j
   1.开发包(到lib)
   2.配置文件log4j.properties (到src)
     输出位置(控制台、文件、邮箱)
     级别(debug/info/warning/error)
 
 
 
 
 
静态包含和动态包含区别
  静态包含: 转译包含
  动态包含:每次请求时
 

转发和重定向区别
 转发一次请求
 重定向两次请求

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:59720次
    • 积分:1207
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:7篇
    • 译文:0篇
    • 评论:24条
    最新评论