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,"新编码");



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值