JSP 之输出九九乘法表

JSP是一种建立在Servlet规范提供的功能之上的动态网页技术,允许在网页文件中嵌入java代码和jsp标记。Java 服务器页面 (Java Server Page ,JSP) 扩展名为 .jsp。
1.jsp的执行过程

  • Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Servlet处理用户的请求,所以jsp可以看成是运行时的Servlet
  • Jsp容器(也就是Servlet容器)管理jsp页面声明周期分为两个阶段.即转换阶段和执行阶段
  • 当有一个对jsp页面的请求到来时,jsp容器检查jsp页面的语法是否正确,将jsp页面转换为Servlet源文件,然后调用javac命令编译Servlet源文件生成字节码文件.这是转换阶段
  • Servlet容器加载转换后的Servlet类,这是执行阶段

2.JSP 页面的元素

    静态内容------------→  HTML静态文本
    指令------------→ 以 <%@  开始,以 %>  结束
    表达式------------<%=Java表达式 %> *
    Scriptlet ------------<% Java 代码 %> *
    声明------------<%! 函数或方法 %> *
    动作------------→以  <jsp: 动作名   开始,以 </jsp:动作名>   结束
    注释------------<!-- 这是注释,但客户端可以查看到 -->
    <%-- 这也是注释,但客户端不能查看到 --%> 

3.JSP 指令 用来设置与整个 JSP 页面相关的属性

<%@ page ... %>	定义页面的依赖属性,比如脚本语言、error 页面、缓存需求等等
<%@ include ... %>	包含其他文
<%@ taglib ... %>	引入标签库的定义,可以是自定义标签

4、JSP的九大内置对象

    request	     HttpServletRequest 类的实例
    response	 HttpServletResponse 类的实例
    out	         PrintWriter 类的实例,用于把结果输出至网页上
    session	     HttpSession 类的实例
    application	 ServletContext 类的实例,与应用上下文有关
    config	     ServletConfig 类的实例
    pageContext	 PageContext 类的实例,提供对 JSP 页面所有对象以及命名空间的访问
    page	     类似于 Java 类中的 this 关键字
    Exception	 Exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象

5. JSP 作用域包括 page、request、session 和 application

JSP 示例如下:

<%-- jsp的指令 --%>
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'demo1.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <%--jsp的表达式 --%>
    <p>path:<%=path%> </p>
    <p>basePath:<%=basePath%> </p>
    <p>姓名:<%=request.getAttribute("name") %> </p>
    <p>密码:<%=request.getAttribute("password") %> </p>
    <p>年龄:<%=request.getAttribute("age") %> </p>
    
    <%--jsp的Scriptlet --%>
    <%--九九乘法表 --%>
    <%
    	for(int i=1;i<10;i++){
    		for(int j=1;j<=i;j++){
    			out.print(i +" × "+j+" = "+(i*j)+"   ");
    		}
    		out.print("</br>");
    	}
     %>
    
    <%--jsp的声明 获取当前时间 --%>
    <%!
    	public String getTime(){
    		SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		return sf.format(new Date());
    	}
     %>    
     <p>当前时间:<%=getTime() %> </p>
  </body>
</html>

结果如下:在这里插入图片描述

发布了43 篇原创文章 · 获赞 73 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览