jsp基础

以前的笔记。。。
jsp是Java Server Page 的缩写。是建立在Servlet基础上的。

1.基础:jsp的标记:

1.注释 
    <%-- %> 值得一提的是注释在用户端是隐藏的,而html的注释的可以看到的

2.jsp声明
    <%! xxx --%> 声明全局变量

3.jsp小脚本表达
    <%  xxx; %>
    
4.jsp表达式
    <%=xxx> 只有一句,且最后不需要加分号
    
5.jsp指令 directive
    <%@ xxx> 指令有三种:
                <%@ page...%>       配置语言以及导入的包(默认导入Servlet等包),<%@ page import = "java.util.ArrayList" session = "true" pageEncoding = "utf-8>
                <%@ include %>      动态包含代码
                <%@ taglib..%>  

6.jsp 的action:
     jsp的action有如下:
                
                
                
                
                
                
                

2.Jsp的9个内置对象:

1.request HttpServletRequest
2.response HttpServletResponse
3.pageContext:jsp.PageContext对象
4.appplication:ServletContext对象
5.out:PrintWriter对象
6.config:ServletConfig对象 初始化Servlet初始化数据如下:<%=config.getInitParameter("senninha") %>
7.page:相当于this关键字,代表产生的Servlet需要强转为JspPage类型
8.session:HttpSession对象
9.exception:Exception对象

3.Jsp的Scope:

在servlet里,有Context,Session,Request三种,在Jsp里,对应的分别是Application,Session,Request,还有一个就是page,在Servlet里没有对应。

4.高级属性

a.动态属性:
    ,只有表达式可以,而小脚本不可以
    
b.静态和动态包含(include)
    一.静态包含:
                <%@ include file = "xxx.jsp">
                静态包含不可以去修改或者设置xxx.jsp的内容
            
    二.动态包含:
                被包含的jsp里有这样一行代码:
                <%=request.getParameter("senninha")%> //paramater要和attribute区分开来
                
                然后在包含的代码里还可以动态修改para的值:
                    
                        
                    
        
c.错误捕获
    如果在jsp里出现错误,如果显示在网页上体验不好,可以定义一个网页专门显示error
        在可能出错的网页里指定处理错误的网页
        <%@ page errorPage="Error.jsp" %>
        try{}
        catch(){
        throw new Exception("xxxcuowu")}
        
        然后在Error.jsp里:
            第一是设置<%@ page isErrorPage="true"%>
                然后就可以用内置对象来进行显示了。<%=exception.getMessage()>

d.设置其他:
    设置内容:
            <%@page contentType = "text/html" %> || <% response.setContentType("text/html");|| response.setContentType("appplication/vnd.ms-excel");

5.解析jsp和javabean的关系:

a.

    <%
        if(book.getName() == null){
            out.print("book is null");
        }else{
            out.print("booke is not null");
        }
        //如果已经存在了这个bean,则这些代码就不会执行。
        //例如这里设置的是request,假如在上一个转发的页面里  request.setAttribute("book",bookBean);
        //那么这个useBean就会直接调用这个实例化对象,而不会再去新建一个对象。
    %>

id是通配全局的变量,之后就可以直接调用了,scope是指调用的位置。这个语句相当于实例化一个BookBean对象。
需要特别注意的是,这里一定要给BookBean一个空的构造方法。
记得getParameter和attribute的区别。parameter是获取表单提交的数据。

b.

你可能感兴趣的:(jsp基础)