JSP基础

     JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。它在动态页面建设中有着强大而特殊的功能,并有

动态网页是指在服务器端运行的,使用程序语言设计的交互式网页,他们会根据某种条件的变化,返回不同的页面内容。其优势主要有
    交互性:可以实现与用户的交互功能。
    自动更新:无须改变页面代码,便会自动生成新的页面内容,可以大大节省工作量。
    随机性:不同时间、不同的人访问同一个网址时会产生不同的效果。
JSP的执行过程
    1、翻译阶段.java    2、编译阶段.class    3、执行阶段

在JSP页面中,将表达式(expression)、小脚本(scriptlet)、声明(declaration)统称为JSP脚本元素,用于在JSP页面中嵌入Java代码,实现页面的动态请求。
    JSP指令元素:通过设置指令中的属性,在JSP运行时,控制JSP页面的某些特性。
    <%@   指令  %>
    小脚本:小脚本可以包含任意的Java片段,形式比较灵活,通过在JSP页面中编写的小脚本可以执行复杂的操作和业务处理。小脚本中定义的变量都是局部变量。
        <% Java代码 %>
    表达式:表达式是对数据的表示,系统将其作为一个值进行计算和显示。当需要在页面中获取一个变量或者表达值时,使用表达式是非常方便的。注意:在JSP中使用表达式显示数据是,则不能在表达式结尾处添加分号。
        <%= 表达式 %>
    声明:用来定义Java脚本中的成员变量和方法。
        <%! 成员变量和方法 %>

JSP数据交互
 请求
    方式一:使用表单请求。使用request内置对象。
    方式二:使用URL重写
        <a href = "目标地址"?参数1&参数2&参数3></a>
    方式三:使用隐藏表单域,适合服务器端跟踪客户端状态,但有不希望客户端可见。

应答
    方式一:弹出消息框。(不友好,不推荐使用)
    方式二:重定向
    方式三:请求转发

数据共享
    JSP是通过不同的作用域(我们可以理解为一个存放数据的容器)来实现页面之间的数据传递。按可见度从小到大依次为。
        1.page(仅用于当前页面,其提供的内置对象名称为pageContext)
        2.request(仅用于一次请求转发)
        3.session(仅用于一个浏览器的不同窗口)
        4.application(适用于该服务器的所有客户端)
    从存放数据的语法角度来讲,以上四种作用域均提供了一组相同的方法。
        作用域对象.setAttribute(String key,Object value);//写入数据,存放的数据会转换成Object
        作用域对象.getAttribute(String key);//读取数据,得到的类型是Object类型,如赋给其他类型变量需要进行类型转换。

乱码处理(在JSP开发中必然会遇到的问题
    方式一:使用request.setCharacterEncoding("编码");但该方式仅适用于"post"请求。
    方式二:使用字节数组解码(最好编写一个编码过滤类)
            byte[] b = 源字符串.getByte("原编码");//解码
            String s = new String(b,"新编码");



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章