JSP语法
来源:互联网 发布:淘宝客领取内部优惠券 编辑:程序博客网 时间:2024/06/06 13:04
参考慕课网:JAVA遇见HTML——JSP篇
1..基础语法:
JSP页面元素:
JSP指令:Page include taglib
JSP脚本:<% Java代码 %>
声明:<%! Java代码%>
表达式:<%=表达式 %> //表达式不以分号结束
JSP注释:
JSP页面生命周期:……
2..JSP内置对象:
out requset response session application Page PageContext exception config(最后四个不太常用)
(1)out对象:JSPWriter类实例
(2)get、post提交方式区别:
(3)request对象:HttpServletRequest对象实例
在form表单action指向的.jsp文件中写:
①request.setCharacterEncoding("utf-8");//与form表单上一致。解决中文乱码问题,无法解决URL传递中文出现的乱码问题。
URL传递中文出现的乱码问题:tomcat中server.xml (URL传参)
②getAttribute、setAttribute??
(4)response对象:HttpServletResponse类实例
getWriter()返回的printWriter对象,输出在浏览器提前于内置out对象。可以使用out.flush()方法,(强制清空缓冲区,就会打印out对象了)
response.sendPedirect()方法 //请求重定向。
(5)请求转发、请求重定向区别:
(6)session对象:HttpSession对象实例
生命周期:
创建、活动、销毁
(7)application对象:ServetContext类实例
(类似于静态 、被共享)
(8)Page对象:
(9)PageContext对象、config对象:
PageContext:
forward、include方法
config:
(10)Exception对象:Throwable类
会抛出异常的页面:<%@Page ...... errorPage="a.jsp"%>//a.jsp为处理异常的页面
处理异常的页面(a.jsp):<%@Page ...... isErrorPage="true"%>//可以使用exception对象
<%=exception.getMessage()%>
3..Javabean
(1)Javabean设计原则:公有类,属性私有,无参的公有构造方法,getter和setter方法
(2)JSP动作元素:为请求处理阶段提供信息。
Jsp页面中使用Javabeans:(3)(4)
(3)普通方式创建Javabean实例:
<%@ Page import=".java文件名(不写.java)"%>(此包中含Javabeans类文件)
然后在jsp文件(<% %>)中创建类实例 ,写Java代码//
(4)Jsp页面中通常使用jsp动作标签使用Javabean(上图中三个)
①
id为实例化的动作对象
②
第一种:表单中元素名自动和Javabean属性匹配(name名字一样)。就会自动调用类中get、set方法
第三种:与表单无关。但如果是request.getParameter()也可以与表单关联,还不如前面两种方式方便。
第四种:Param可以通过URL地址传参的方式
③
getProperty:输出到……,类似于表达式方式输出
(5)四个作用域范围:
也可以:<%=((Users)request.getAttribute("myUsers")).getUsername()%>
request:
因为<a>相当于一次新的请求、是请求重定向,request变了。所以用请求转发、能收到。
page:
(6)Model1简介:
4..JSP状态管理:
(1)http协议无状态性:(服务器不会记得你)
(2)保存用户状态两大机制:Session、(客户端)Cookie
(3)Cookie简介:
Web服务器保存在客户端的一系列文本信息。
对特定对象的追踪、保存用户网页浏览记录与习惯、简化登录
(4)Cookie的创建与使用:
(5)Session与Cookie对比:
(6)例:(解决的cookie中无法保存中文字符串问题):
保存cookie字符串,中文乱码:编码解码 java.net包中
// 设置form提交数据的编码格式,防止提交后服务端中文乱码request.setCharacterEncoding("UTF-8");// 对用户名进行编码解码,防止中文乱码;密码不需要编码和解码String username = URLEncoder.encode(request.getParameter("username"), "UTF-8");String password = request.getParameter("password");
request.setCharacterEncoding("UTF-8");//解码username=URLDecoder.decode(c.getValue(),"utf-8");//c为cookie对象
request.setCharacterEncoding("UTF-8");//解码username=URLDecoder.decode(c.getValue(),"utf-8");//c为cookie对象
5..JSP指令与动作元素
(1)include指令:
<%@ include file="URL"%>包含页面
(2)include动作:
(3)include指令、include动作区别:
(4)<jsp:forward>动作:
即与服务器内部跳转方法等价。 Ctrl+f:请求转发。
(5)<jsp:param>动作:
(6)<jsp:plugin>动作:
最后:
java.text.*:SimpleDateFormat类(格式化日期类)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*,java.text.*"%><%Date d=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");String s=sdf.format(d);out.println(s);%>
阅读全文
0 0
- jsp语法
- JSP语法
- JSP语法
- JSP语法
- jsp语法
- Jsp语法
- JSP语法
- jsp语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- jsp语法
- JSP语法
- JSP语法
- jsp语法
- 代码片段----按位或的特点和作用
- 2017双11全网销售额达2539.7亿;苹果承认iPhone X在寒冷天气下触摸失灵丨价值早报
- 5. Python脚本学习实战笔记五 茶话会
- 双十一大战,会是电商行业的最后一支“兴奋剂”
- 抖音收购musical.ly后,最难过的为什么是快手?
- JSP语法
- 6. Python脚本学习实战笔记六 使用CGI远程编辑
- 深入浅出MyBatis-Sqlsession
- Intent界面跳转,数据传递 初级
- HBase之HFile索引机制
- 7. Python脚本学习实战笔记七 电子公告板
- 利用mapreduce计算框架向hbase插入数据(python脚本)
- HDU 1282 回文数猜想
- 基于ARM_contexA9 led驱动编程