码迷,mamicode.com
首页 > Web开发 > 详细

JSP一些基础知识

时间:2014-09-30 20:26:51      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:des   style   http   color   io   os   使用   ar   java   

因为jsp最后会转换成servlet,这就有可能会覆盖init和destory方法,但是在tomcat 6.0.29,如果要覆写的话,如下:

 <%!
    //覆盖jspInit方法
    public void jspInit(){
    
    ServletConfig cfg = getServletConfig();
       String name = cfg.getInitParameter("name");
    ServletContext context = getServletContext();
       context.setAttribute("jsptest","hello");
    context.setAttribute("jsptesttwo",name);
    }
    
    public void jspDestroy(){
    //TODO
    }
     %>

不能覆写_jspInit()和_jspDestory()方法,会hit duplicate error. "_"的意思就是说不要覆写。

在jspInit()中可以像servlet中的init方法一样拿到ServletConfig和ServletContext.给jsp配置初始化参数如下:

  <servlet>
  <servlet-name>testjsp</servlet-name>
  <jsp-file>/index.jsp</jsp-file>
  <init-param>
      <description>name</description>
      <param-name>name</param-name>
      <param-value>Rose</param-value>
  </init-param>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>testjsp</servlet-name>
  <url-pattern>/index.jsp</url-pattern>
  </servlet-mapping>

    

    pageContext可以通过下面方式访问其他作用域的属性:

    pageContext.getAttribute("foo","name",PageContext.APPLICATION_SCOPE);

    pageContext.getAttribute("foo","name",PageContext.SESSION_SCOPE);

    pageContext.getAttribute("foo","name",PageContext.REQUEST_SCOPE);

    如果没有设置范围,则会从page-->request-->session-->application由小到大顺序查找。


    JSP的三个指令:

<%@page import="javax.servlet.jsp.jstl.core.Config"%>
<%@ taglib tagdir="" prefix="" %>
<%@ include file="" %>

    bubuko.com,布布扣

    bubuko.com,布布扣

    jsp中禁用scriptlet,java表达式和声明。

  <jsp-config>
  <jsp-property-group>
  <url-pattern>*.jsp</url-pattern>
  <scripting-invalid>true</scripting-invalid>
  </jsp-property-group>
  </jsp-config>

    如果仍旧使用scriptlet或者java表达式这些,会hit error.

    org.apache.jasper.JasperException: /index.jsp(5,2) Scripting elements ( &lt;%!, &lt;jsp:declaration, &lt;%=,                  &lt;jsp:expression, &lt;%, &lt;jsp:scriptlet ) are disallowed here.


    在JSP中忽略EL:

    <%@ page isELIgnored="true" %>

  <jsp-config>
  <jsp-property-group>
  <url-pattern>*.jsp</url-pattern>
  <!-- <scripting-invalid>true</scripting-invalid> -->
  <el-ignored>true</el-ignored>
  </jsp-property-group>
  </jsp-config>

    页面上的优先级要高些。

JSP一些基础知识

标签:des   style   http   color   io   os   使用   ar   java   

原文地址:http://my.oschina.net/u/617909/blog/323566

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!