JSP 2:jsp中的java代码

※ 如何写一个jsp页面以及在页面中如何写java代码。
   jsp页面中主要写的东西分为三部分:

    1. jsp的脚本元素
    1.1表达式(expression)

        形式:<%= %>
        例如:<%="hello" %>
             <%=1+1 %>
             <%=s.getName() %>

        将来翻译到java文件中的位置:
        _jspService方法中的out.print(..)里面的参数.
        例如上面那几个例子会翻译成

        out.print("hello");
        out.print(1+1);
        out.print(s.getName());


        所以System.out.prntln()这个方法的参数可以写什么,那么我们这个jsp页面中表达式里面就可以写什么.

        注意:在jsp中的表达式里面不需要加;号。        

    1.2脚本(scriptlet)
      

        形式:<% ... %>
             <%
            ....
             %>
        例如:
             <%
             Student s = new Student();

             String name = "tom";

             String username = s.getName();

             List<String> list = new ArrayList<String>();
             list.add("hello")
             
             %>


         将来翻译到java文件中的位置:
         脚本中的代码将来会被直接翻译到_jspService这个方法中.
        
         在一个方法中我们可以写什么样的代码,那么在脚本中就可以写什么样的代码.

         注意:在脚本中所写的代码,代码的最后是要加上;号的。因为我们在一个方法里面所写的没一句代码后面都是要加;号。
         在脚本声明的变量,我们是可以在表达式里面使用的,但是要注意要先声明变量再使用变量.只要查看脚本和表达式分别翻译到java文件中的位置,就可以很清楚的认识到这一点.

       1.3声明(declaration)
        

        形式:<%!
            .....
             %>
        例如:
         <%!
            private String address;
    
            public String go(){
                System.out.println("hello world jd1307");
                return "this is go()";
            }
        
         %>

         将来翻译到java文件中的位置:
         直接将声明中的代码翻译到java文件里面所定义的类中。所以我们直接可以在一个类中写什么,就可以在声明中写什么.(一般在声明中会去定义一些类中的成员变量或者方法)
        注意:这里面的代码,定义变量的时候要加;号,定义方法的时候不用加;号,这是和我们写一个java类语法是一样的。
        
    2. jsp的指令元素
        jsp的指令是给jsp引擎看的,让jsp引擎在翻译jsp页面成java文件的时候,知道需要注意哪些地方的设置.比如页面中的编码、页面中脚本里面所用的编程语言、翻译的java文件中需要引入哪些其他包下的java类等等.

写法:
        <%@指令名字  属性="值" ..  %>

        ※ page指令
          1)表示当前页面中的编程语言是java,目前这个属性值只能写java
          language="java"

          2)在当前页面中要引入哪些包下的类.
          import="java.util.HashMap"
          import="java.util.HashMap,java.sql.Connection"
 
          3)设置jsp页面文件保存时候所用的编码
          pageEncoding="UTF-8"


          4)设置服务器将来使用io把jsp页面内容一行一行的输出给浏览器的时候,使用什么编码向浏览器输出.
          contentType="text/html; charset=UTF-8"
          
          5)设置jsp页面被翻译成java文件的时候,java文件中的类要继承那个父类.这个属性不用设置,jsp引擎会给它一个默认的父类去继承的.
          extends=""
          
          6)设置当前这个jsp页面是否支持session对象的使用.默认是支持的.
          session="true"
          
          7)设置jsp页面是否是线程安全的.
          isThreadSafe="true"
          
          8)如果a.jsp页面中设置了errorPage="b.jsp",那么a.jsp页面在运行的时候一旦出错,就会自动跳转到b.jsp里面.
          errorPage=""
          
          9)如果一个页面中设置了isErrorPage="true",那么就表示这个页面是用来专门显示错误信息的页面.
然后在这个页面中就能够使用到隐藏对象exception来显示出错误的信息了.
          isErrorPage=""

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+reque
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值