学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
2013-10-11 23:41
1476 查看
jsp:页面组成部分:
Template(模板)data:JSP引擎不处理的部分,比如HTML代码等。
JSP元素:JSP引擎处理的部分
编译器指令(DIRECTIVE):
页指令:<%@page import ="java.io.*"%> 用于定义JSP文件中的全局属性,作用于整个页面 ,import 指令中:java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;这几个包都已经默认导入,无需再导入。
包含指令:<%@file ="relativeURL"%>
taglib指令:用于引入定制标签库
<%@tagliburi = "URIToTagLibrary prefix="tagPrefix"%>
脚本语法(SCRIPT):
Demo
HTML注释: <!--此注释会被解释并发送到浏览器上-->
隐藏注释:<%--此注释不会被解释和发送--%>
声明 :
<%!Datedate = new Date();%>
<%!inta,b,c;%>
全局对象和变量的声明,如果不加感叹号,就是局部的。
表达式
<%=expression%>
脚本段
<%codefragment%>
动作语法(ACTION):Demo01
JSP标签:<jsp:forward>,<jsp:include>,<jsp:getProperty>,<jsp:setProperty>,<jsp:useBean>
例子说明:demo1.jsp通过<jsp:fowward>标签转向demo01ForwardTo.jsp页面,forward标签后面的代码不再执行。
demo1.jsp
demo01ForwardTo.jsp
JSP内置对象
request
response
pageContext
session
application
out
config
page
exception
重点:
request session
Http协议是无状态协议(stateless)协议
WebServer对每个客户端请求都没有历史记忆,Session用来保存客户端状态信息
Demo2:
demo2.jsp 表单页,session.jsp 接收表单信息并存入session.jsp,check_session.jsp检测session中用户名属性是否为null,并显示不同信息。
demo2.jsp
session.jsp
check_session.jsp
application
Application对象负责提供应用程序在服务器中运行时的一些全局信息。
Demo3设置网页计数器,只要tomcat不重启,该 计数器一直往上加。
JavaBean
JavaBean分为两种:一种是有用户界面(UI,UserInterface)的javaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操作数据库)的Bean,JSP通常访问的是后一种Bean。
一:JavaBean定义
JavaBean是一种可重复使用、跨平台的软件组件。JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean,例如NetBean中的那些可视化图形界面 ,
;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是最后一种JavaBean。
二:Jsp与JavaBean搭配使用的特点
1.使得Html与Java程序分离,这样便于维护代码。如果把所有的程序代码都写成jsp到网页中,会使得代码繁杂,难以维护。
2.可以降低开发jsp网页人员对Java编程能力的要求。 //尼玛,这不是分工了嘛,估计如果一个程序猿只会写jsp估计会饿死...
3.jsp侧重生成动态网页,事务处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性特点,提高开发网站的效率。
JSP访问javabean的语法
声明:使用<jsp:useBean>标签
访问属性:<jsp:getProperty>,<jsp:setProperty>
范围:默认为page,还有request session application
Demo4:创建一个JavaBean,并在jsp文件中进行属性的读写。
Student.java
demo4.jsp
Template(模板)data:JSP引擎不处理的部分,比如HTML代码等。
JSP元素:JSP引擎处理的部分
编译器指令(DIRECTIVE):
页指令:<%@page import ="java.io.*"%> 用于定义JSP文件中的全局属性,作用于整个页面 ,import 指令中:java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;这几个包都已经默认导入,无需再导入。
包含指令:<%@file ="relativeURL"%>
taglib指令:用于引入定制标签库
<%@tagliburi = "URIToTagLibrary prefix="tagPrefix"%>
脚本语法(SCRIPT):
Demo
HTML注释: <!--此注释会被解释并发送到浏览器上-->
隐藏注释:<%--此注释不会被解释和发送--%>
声明 :
<%!Datedate = new Date();%>
<%!inta,b,c;%>
全局对象和变量的声明,如果不加感叹号,就是局部的。
表达式
<%=expression%>
脚本段
<%codefragment%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <center> <%!Date date = new Date(); %> <!-- 定义变量 --> <%!int a,b,c; %> <%int a = 12,b=10,c=a+b; %> <!-- scriptLet --> <font color = "blue"> <%=date.toString()%> <%--表达式,此注释不会发送到浏览器上 --%> </font><br> <b>a = <%=a %></b> <!-- <b>标签作用是展现粗体效果 --> <b>b = <%=b %></b> <b>c = <%=c %></b> </center> </body> </html>
动作语法(ACTION):Demo01
JSP标签:<jsp:forward>,<jsp:include>,<jsp:getProperty>,<jsp:setProperty>,<jsp:useBean>
例子说明:demo1.jsp通过<jsp:fowward>标签转向demo01ForwardTo.jsp页面,forward标签后面的代码不再执行。
demo1.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Demo01</title> </head> <body> <jsp:forward page="demo01ForwardTo.jsp"> <jsp:param value="cuige_" name="userName"/> </jsp:forward> <%System.out.println("此段代码不会被执行"); %> </body> </html>
demo01ForwardTo.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% String userName = request.getParameter("userName"); String outStr = "谢谢光临!"; outStr += userName; out.println(outStr); %> </body> </html>
JSP内置对象
request
response
pageContext
session
application
out
config
page
exception
重点:
request session
Http协议是无状态协议(stateless)协议
WebServer对每个客户端请求都没有历史记忆,Session用来保存客户端状态信息
Demo2:
demo2.jsp 表单页,session.jsp 接收表单信息并存入session.jsp,check_session.jsp检测session中用户名属性是否为null,并显示不同信息。
demo2.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <center> <h1>欢迎来到崔哥的博客</h1> <form action="session.jsp"> 用户名:<input type = "text" name = "userName"><br><br> <input type = "submit" value = "提交" > </form> </center> </body> </html>
session.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>将form传过来的数据存入session</title> </head> <body> <% String userName = request.getParameter("userName"); session.setAttribute("logName",userName); %> 您的名字<%=userName %>已经写入session。<br> <a href = "check_session.jsp">check</a> </body> </html>
check_session.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>check_Session</title> </head> <body> <% String name = (String)session.getAttribute("logName"); if(name == null){ %>您还未登陆。 <% }else{ %> <%=name %>已经登录。 <% } %> </body> </html>
application
Application对象负责提供应用程序在服务器中运行时的一些全局信息。
Demo3设置网页计数器,只要tomcat不重启,该 计数器一直往上加。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>网页计数器</title> </head> <body> <% if(application.getAttribute("counter")==null){ application.setAttribute("counter", "1"); } else{ String strnum = application.getAttribute("counter").toString(); int icount = Integer.parseInt(strnum); icount++; application.setAttribute("counter", Integer.toString(icount)); } %> <center> <h1>您是第 <%=application.getAttribute("counter").toString() %> 位访问者。</h1> </center> </body> </html>
JavaBean
JavaBean分为两种:一种是有用户界面(UI,UserInterface)的javaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操作数据库)的Bean,JSP通常访问的是后一种Bean。
一:JavaBean定义
JavaBean是一种可重复使用、跨平台的软件组件。JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean,例如NetBean中的那些可视化图形界面 ,
;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是最后一种JavaBean。
二:Jsp与JavaBean搭配使用的特点
1.使得Html与Java程序分离,这样便于维护代码。如果把所有的程序代码都写成jsp到网页中,会使得代码繁杂,难以维护。
2.可以降低开发jsp网页人员对Java编程能力的要求。 //尼玛,这不是分工了嘛,估计如果一个程序猿只会写jsp估计会饿死...
3.jsp侧重生成动态网页,事务处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性特点,提高开发网站的效率。
JSP访问javabean的语法
声明:使用<jsp:useBean>标签
访问属性:<jsp:getProperty>,<jsp:setProperty>
范围:默认为page,还有request session application
Demo4:创建一个JavaBean,并在jsp文件中进行属性的读写。
Student.java
package cn.itcast.model; public class Student { private String name; private int age; private boolean sex; public Student(){ name = "zhangsanfeng"; age = 20; sex = true; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } }
demo4.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <jsp:useBean id = "student" scope="application" class = "cn.itcast.model.Student" /> <%=student.getName() %><br> <%student.setName("cui"); %> <jsp:getProperty property="name" name="student"/> <jsp:getProperty property="age" name="student"/> <jsp:getProperty property="sex" name="student"/> <br> <%=student.getName() %> <%=student.getAge() %> <%=student.isSex() %> <%--javabean的属性其中如果有事布尔类型的getXX方法可以写成isXX --%> </body> </html>
相关文章推荐
- 【JavaWeb】JSP学习笔记(一)环境|目录|JSP基础语法|内置对象
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- Java学习【web基础-JSP3-JSP中的9大内置对象1】
- Java学习【web基础-JSP3-JSP中的9大内置对象2】
- 【Java Web 学习笔记】Day 2 JSP的基本语法
- 第五天03 JAVA基础语法(认识对象--使用标准类)(学习笔记)
- 第五天04 JAVA基础语法(认识对象--对象指定与相等性)(学习笔记)
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
- JavaWeb——JSP内置对象request,response,重定向与转发 学习总结
- 学习笔记之javaweb基础:JSP的HelloWorld及其运行原理
- JSP笔记-开发环境、基本语法和内置对象
- JSP(1)之web开发基础、JSP语法及内置对象
- Java学习笔记之JSP内置对象
- 第五天01 JAVA基础语法(类与对象)(学习笔记)
- java基础学习笔记——基本数据类型对象包装类
- 学习笔记_java web——JSP基础
- JavaWeb中JSP的基本语法和隐含对象
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
- 黑马程序员-学习笔记java基础-基本语法