终于看到JSP了,进入实际应用阶段,我原来以为JSP跟ASP或者ASP.NET差不多,今天了解了一下,感觉不是那么回事。JSP是Java Server Page的缩写,是Servlet的扩展。书上解释说:“在传统的网页HTML文件中加入Java程序片断和JSP标签,就构成了JSP网页”
jsp.JPG

        看起来很简单,但是JSP语法都没有看完就遇到问题了:

<% if(false){ %>
   She is a girl
<% }else{  %>
   He is a boy.
<%  }  %>
结果是He is a boy,  这里有点不能够理解,不知道JSP容器是怎么解释的,暂时把“He is a boy”当作一个字符串处理

JSP语法:
<%@   %>用来设置和整个JSP网页相关的属性,常用的由Page, include, taglib
<%!     %>用于声明JSP代表的Servlet类的成员变量和方法
<%      %>用于直接嵌入任何有效的Java语言代码
<%=    %>用于显示表达式的值,int或者float类型的值都自动转换成字符串加以显示

<%! int hitcount=1; %> 和<% int count=1; %>的区别?是类成员变量和局部变量的区别。在<%!  %>声明中的都是类成员变量。

隐含对象:
使用这些对象的引用变量时不需要做任何变量声明
request            javax.servlet.HttpServletRequest
reponse           javax.servlet.HttpServletResponse
pageContext    javax.servlet.jsp.PageCntext
application       javax.servlet.ServletContext
out                  javax.servlet.jsp.JspWriter
config              javax.ServletConfig
page                java.lang.Object    (相当于Java中的this关键字)  
session            javax.servlet.http.HttpSession
exception         java.lang.Exception

JSP与Cookie:只要客户端不禁止,使用很简单
         Cokie[] cookies = request.getCookies();
         cookies[0].getName;
         cookies[0].getValue();
         cookies[0].setMaxAge(30);
         cookies[0].getMaxAge();
         response.addCookie(new Cookie("cookieName", "cookieValue"));

JSP转发请求:
      <jsp:forward page="重新定向的文件" />
如果在a.jsp中,a.jsp请求转发给b.jsp,   a.jsp所有的数据输出都无效;此外a.jsp和a.jsp共享同一个HttpRequest对象,因此b.jsp可以通过request.getParameter("name")方法读取请求参数

JSP异常处理:
     JSP异常处理是针对每个页面的,不知道能不能在Web.xml中配置,让所有页面的异常处理指向通一个页面(应该有,只是我不知道而已^_^),每个页面都去设置errorpage感觉很麻烦。
    <%@ page errorPage="errorpage.jsp"  %>
    <%@ page isErrorPage="true" %>默认为true
在处理异常的网页中可以直接访问exception隐含对象:<%=exception.getMessage() %>   <% exception.printStackTrace(new PrintWriter(out));%>在异常处理页面中也是共享一个HttpRequest对象,应此也可以使用<%=request.getParameter("name");%>



今天就学这么一点点,玩会儿wow先^_^

posted on 2005-08-07 17:03 恏人 阅读(242) 评论(0)  编辑  收藏 所属分类: Java学习历程

只有注册用户登录后才能发表评论。


网站导航:
 

统计