学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法

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>





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值