jsp动态页面技术

1. 动态页面技术(  jsp )
   what is jsp?  java server page   java服务器页面技术.
      jsp包括了 静态部分及动态部分,运行于服务器中.
      html中包含了java代码,必须运行在服务器,以完成翻译,编译,运行的过程,最后返回html给客户端.

    最后生成 java, class文件都是放在  tomcat的work目录下.
     work/Catalina/localhost/项目名/org/apache/jsp/ 页面名_jsp.java   而且这个java文件是一个final类.

2. jsp页面的结构:
    静态部分:   html,  css,   javascript   (包含注释)
    动态部分:   jsp元素 (  java相关)
         1. 指令
               编译指令:    只在编译时起作用,不会有任何输出     (   import ,包含一个小模块, 导入标签库  )
                          <%@ page  属性名="值" %>        导入的类的说明, 编码集
                          <%@ include file="文件名.jsp" %>    包含另一个页面( 公用的模块 )
                          <%@ taglib  prefix="前缀名" uri="定义标签地址" %>    导入标签库.

   例:   <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
               动作指令:
   <%jsp:include %>
   <%jsp:forward %>
   <%jsp:param   %>
         2. 脚本:  逻辑,业务, 输出
               小脚本
   <%   java代码  %>                 逻辑和业务操作
               声明
               表达式
   <%=值  %>                        输出.
         3. 注释
         4. 9大内置对象. (重点)   out
        

3. 注意:
     a. 静态包含     <%@ include file="文件名.jsp" %>    包含另一个页面( 公用的模块 )
               包含的是java源代码,  即将两个页面的.jsp代码翻译成  java后,再合并到一起,然后编译.
                  经常的问题:  两个页面中出现相同的变量,

 

 

小案例,九九乘法表

<%
    //九九乘法表,后台打印
    for(int i=1;i<=9;i++){
     for(int j=1;j<=i;j++){
      System.out.print(i+"*"+j+"="+(i*j)+"\t");
     }
     System.out.println();
    }
    
    %>
   //
   <hr/>
  <%
    //九九乘法表,out输出
    for(int i=1;i<=9;i++){
     for(int j=1;j<=i;j++){
      out.print(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp");
     }
     out.println("<br/>");
    }
    
    %>
    /
    <hr/>
    <%
      //九九乘法表,小脚本
    for(int i=1;i<=9;i++){
     for(int j=1;j<=i;j++){
    %>
   
     <%=i %>*<%=j%>=<%=i*j%>  &nbsp;&nbsp;
    <%
     }
    %>
     <br/>
     <%
    }
     %>
   
     /
    <hr/>
    <table border="1">
    <%
      //九九乘法表,加入css表格
    for(int i=1;i<=9;i++){
   %>
     <tr>
   <%
     for(int j=1;j<=i;j++){
    %>

     <td><%=i %>*<%=j%>=<%=i*j%>&nbsp;&nbsp;</td>
    <%
     }
    %>
     </tr>
     <%
    }
     %>
    </table>
   
    
     /
    <hr/>
    <table border="1">
    <%
      //九九乘法表,加入js效果
    for(int i=1;i<=9;i++){
   %>
     <tr>
   <%
     for(int j=1;j<=i;j++){
    %>

     <td οnmοuseοver="this.className='red'" οnmοuseοut="this.className='white'"><%=i %>*<%=j%>=<%=i*j%>&nbsp;&nbsp;</td>
    <%
     }
    %>
     </tr>
     <%
    }
     %>
    </table>
   

/       jsp取html传入的值

<%
         request.setCharacterEncoding("utf-8");
    //取出所有的参数的名字
    Enumeration<String> parameternames= request.getParameterNames();
   
    while(  parameternames.hasMoreElements()  ){
      String pn=parameternames.nextElement();     //取出每一个参数的名字(键)
         if(   request.getParameterValues(pn).length>1){
          String[] values=request.getParameterValues(pn);
          out.println( pn+"=");
          for( String s:values){
           out.println( s +"&nbsp;");
          }
         }else{
          String value=request.getParameter(pn);
          out.println(  pn+"="+value+"<br />");
         }
    }
    %>

                        to be continue.........

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值