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对象


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);%>

Model2:

































原创粉丝点击