JSP基础语法和相关用法

来源:互联网 发布:java ioc容器 编辑:程序博客网 时间:2024/06/04 23:34
  1. Jsp指令
    page指令————通常位于jsp页面的顶端,同一个页面可以有多个page指令。
    相关用法——<%@page 属性1=“属性值” 属性2=“属性值”……属性n=“属性n”%>
    一般出现在jsp页面的第一行,有language,import,还有编码格式等属性。
    include指令————将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。
    taglib指令————使用标签库定义新的自定义标签,在JSP页面中启用定制行为。
  2. JSP页面元素
    Jsp注释——HTML的注释://客户端可见; JSP的注释:<%–html注释–%>//客户端不可见; JSP脚本注释:和java中一样的单行注释和多行注释//在客户端不可见。
    JSP脚本——在JSP页面中执行的java代码。
    语法:<%java代码%>
    JSP声明——在JSP页面中定义变量或者方法,比如声明一些字符串变量。
    语法:<%!Java代码%>
    <%!
    String s = “张三”;
    int add(int a, int b) {
    return a+b;
    }
    %>
    JSP表达式——在JSP页面中执行的表达式。
    <% = s%>//调用上面声明的变量,并且结尾没有分号
    JSP页面的声明周期(重点)——这一块虽然很重要,但是是初学,所以感觉理解不是特别深,选择先放下这一块,等后面再次巩固知识的时候再次回来看。
  3. JSP内置对象
    内置对象概念——JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象
    常用的内置对象——out、 request、response、session、application
    不常用的内置对象——page、pageContext、exception、config
    Web程序的请求响应模式——用户发送请求(HTTP request)、服务器响应(HTTP reponse)
  4. JSP内置对象——out
    先了解一下缓冲区的概念:所谓缓冲区(Buffer),就是内存中的一块区域用来保存临时数据。
    out对象——out对象是JspWriter类的实例,是向客户端输出内容常用的对象
    最常用的方法是out.println();这一块需要注意的是flush()方法,flush()方法是输出缓冲区的内容,clear()方法不能在flush()方法后面用,因为clear()方法是清除缓冲区中的内容,如果在flush()方法后面用会抛出异常,但是clearflush()方法可以用在flush()后面,不会出现异常。
  5. 表单提交方式get和post
    表单:
    get——以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据最多不超过2kb.安全性较低但是效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。
    post——将用户提交的信息封装在HTML HEADER内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能。
  6. request内置对象
    request——客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。最常用的几个方法是:
    String getParameter(String name)返回name指定参数的额参数值
    String[] getParameterValues(String name)返回包含参数name的所有值的数组
    void setAttribute(String, Object)存储此请求中的属性
    Object getAttribute(String name)返回指定属性的属性值
    在使用request过程中,有些参数是中文的,为了可以是中文正常显示,需要在前面用request.setCharacterEncoding()来设置编码方式,使编码方式和请求页面中的编码方式一样。
  7. response对象
    response对象包含了响应客户请求的有关信息,但是在JSP页面中很少直接使用到。它是HttpServletResponse类的实例。response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的reponse对象对当前页面有效。
    response中的PrintWriter生成的outer对象也可以用来打印输出,但是它打印出来的东西永远在内置对象out的前面,如果在out的后面加上out.flush()方法,那么就可以使out得对象输出的内容在outer的前面。
    reponse有个对象是请求重定向reponse.sendRedirect(“想要转向的页面”)页面可以使页面跳转到想要跳转的页面。
    谈一下请求转发和请求重定向的区别与联系:
    请求重定向——客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变,比如:自己想去某局办事,结果去了A局,A局说自己不管这事,去B局,然后自己就乘车去了B局
    请求转发——服务器行为,request.getRequestDispatcher().forward(),是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。比如:上面那个例子,去了A局,A局发现这事他们不管,然后A局把相关资料转发给B局,然后B局办完再发给A,然后自己还是从A局拿相关的资料。
0 0
原创粉丝点击