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>

結果如下:在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443378.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443378.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443378.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java 重寫與重載

方法的重寫&#xff1a; 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。 重寫的好處在于子類可以根據需要&#xff0c;定義特定于自己的行為。 也就是說子類能夠根據需要實現父類的方法。 重寫方法不能拋出新的檢查異常或者比被重寫方法申…

Java新增

在實踐項目中我們有可能需要做到新增功能&#xff0c;新增一張表&#xff0c;或是新增多張表。這里我新增的是一張表。 這里主要描述DAO層與Servlet 層&#xff1a; DAO 層&#xff1a; public class UserDaoImpl implements UserDao {private Connection con null;private P…

JSP根據狀態動態改變數據表格按鈕

有時候在開發的過程中會遇到需要根據狀態ID 來動態改變數據表格的按鈕&#xff0c;下面我主要講述兩種表格根據ID改變按鈕的方式。 下面這種我是用EL 表達式獲取表格中的值&#xff1a; <table class"table table-striped table-bordered table-hover" id"s…

Java 模糊查詢

在學習Java 這門語言過程中&#xff0c;會遇到無數的知識點與錯誤&#xff0c;最重要的是我們能夠在茫茫的代碼中找到突破口&#xff0c;并用心去汲取精華。 在很多時候我們會用到模糊查詢&#xff0c;這里是我在編碼過程中用到的模糊查詢。 JSP &#xff1a; <input value…

Java刪除表

Java刪除表 這里頁面我用了layui 框架做刪除的&#xff0c;這里需要引入layui 的css 與js 插件&#xff0c;這里寫出主要的代碼。 Jsp &#xff1a; //監聽行工具事件table.on(tool(test), function(obj){var data obj.data; //獲得當前行數據var date1 data.classifyColum…

原始分頁

Jsp &#xff1a; <div style"float: right;">當前為${currentPage}頁&#xff0c;共有${totalRow}條數據&#xff0c;共${totalPage}頁 <select style"border-radius: 18px;" id"pageSize" name"pageSize" onchange"c…

根據銀行卡號判斷銀行卡是否正確與歸屬銀行

校驗過程&#xff1a; 1.從卡號的最后一位數字開始&#xff0c;逆向將奇數位&#xff08;1&#xff0c;3&#xff0c;5 等等相加&#xff09; 2.從卡號最后一位數字開始&#xff0c;逆向將偶數位數字&#xff0c;先乘以2&#xff0c;如果乘積為兩位數&#xff0c;將個位數字相加…

根據年月日判斷第多少天,星期幾

1. 根據年月日判斷第多少天 Scanner是SDK1.5新增的一個類,可使用該類創建一個對象。 Scanner scannernew Scanner(System.in);  然后scanner對象調用下列方法&#xff08;函數&#xff09;,讀取用戶在命令行輸入的各種數據類型   next.Byte(),nextDouble(),nextFloat,nextIn…

解決MySQLyog 導入數據庫文件沒有反應

之前我在MySQL 中新建了一個數據庫&#xff0c;名為“onlineclassroom” 的數據庫&#xff0c;但是在將外部的.sql 文件導入進來之后發現&#xff0c;數據庫沒有反應&#xff0c;也看不到表數據&#xff0c;以為是沒有刷新問題&#xff0c;但是刷新之后發現還是沒有這個就很奇怪…

解決myeclipse報錯500,MySQLyog報錯誤碼問題

在myeclipse 寫了一個登錄&#xff0c;但在我登錄的時候卻報了500的空指針&#xff0c;我檢查了自己的登錄代碼&#xff0c;發現沒有問題&#xff0c;這不應該啊&#xff0c;然后在網上也尋找了一些解決方案&#xff0c;發現好像并不適用&#xff0c;500空指針如下&#xff1a;…

Java防止用戶同一時間重復登錄(包括異地登錄)

有時候我們在做登錄模塊過程中難免會遇到這種問題&#xff0c;即使我們給用戶進行了多重判斷&#xff0c;比如&#xff1a;用戶名&#xff0c;管理員&#xff0c;驗證碼&#xff0c;一系列的判斷… 你是否真正考慮到用戶的體驗&#xff0c;比如不能讓用戶在同一時間&#xff0c…

jquery點擊彈出播放視頻并顯示遮罩層

最近在做視頻播放的時候&#xff0c;發現用jquery的播放視頻可以很好的實現我所需要的效果。在之前請把插件引用進來&#xff0c;廢話不多說&#xff0c;代碼如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><meta …

JS實現圖片循環滾動

之前在前端的時候有遇到這樣一個問題&#xff0c;實現 JS 圖片的循環滾動&#xff0c;然后鼠標移入的時候停止滾動&#xff0c;鼠標移開繼續滾動&#xff0c;這里無非就是設置了一個定時器&#xff0c;鼠標移上時清除定時器達到滾動停止的目的&#xff0c;鼠標移開時重設定時器…

有趣的滾動條

今天在搭前端頁面的時候&#xff0c;UI給過來的一個自定義的滾動條&#xff0c;要求必須與設計的一樣&#xff0c;覺得有點有趣&#xff0c;現在記錄一下。 效果圖&#xff1a; 具體代碼是這樣的&#xff1a; /*字體太長&#xff0c;這里我就減少一些*/ <div class"l…

查詢分頁的幾種sql語句

sql server 中的分頁查詢sql語句不跟mysql 一樣&#xff0c;mysql 用 limit 可以實現查詢sql分頁。如&#xff1a; select * from news where id>(select id from news limit 250000,1) limit 10; //相對執行效率高 select * from news limit 250000,10;mysql 中 limit總是…

c#解決在數據表格中無法顯示秒數問題

在查詢日期的時候&#xff08;年月日時分秒&#xff09;&#xff0c;發現丟失了秒&#xff0c;在這里我用的是自己 封裝的Vo類里面的時間轉換&#xff0c;沒有把秒數查詢出來&#xff0c;在Vo動不了手&#xff0c;我還不能對Controller 動手了&#xff1f; 查詢&#xff1a; 更…

解決 idea 復制jsp 文件過來頁面報404

今天在做功能的時候把另外一個jsp文件復制過來&#xff0c;發現頁面一直報404&#xff0c;咋搞的&#xff0c;檢查路徑沒有問題&#xff0c;報404這個就奇葩了&#xff0c;后面經過一番“洗腦”&#xff0c;才發現jsp文件復制過來少了一個特別重要的步驟&#xff0c;那就是重新…

解決ckeditor富文本在layui 彈框中大小字體等下拉不顯示

css <div class"layui-input-inline" style"width:1100px;"><div class"noticeContent"><textarea id"Introduce1" name"處分結果" class"form-control" style"z-index:19991015">&…

C# DateTime.Compare判斷兩個DateTime 日期是否相等

DateTime t1 DateTime.Now.Date; //2020/8/4 0:00:00 DateTime t2 Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));//得到2020/8/4 16:24:54 DateTime t3 Convert.ToDateTime(t1.AddHours(16).AddMinutes(24).AddSeconds(t2.Second).AddM…

解決git上傳提交的時出現:Please tell me who you are.問題

今天安裝好git后&#xff0c;創建新項目&#xff0c;當git上傳提交時出現了一個問題&#xff0c;如下&#xff1a; Commit failed - exit code 128 received, with output: *** Please tell me who you are.Rungit config --global user.email "youexample.com"git …