JDK+Tomcat搭建JSP運行環境--JSP基礎

一、搭建JSP運行環境之前需要了解的基本知識

? ? ? 配置JSP運行環境之前,我們需要了解JSP的運行機制。只有了解JSP運行機制后,我們才能知道為什么要搭建JSP運行環境?如何去搭建JSP運行環境?為什么要配置Tomcat、JDK?

JSP(Java Sever Page)即Java服務器頁面,它是基于Java平臺的Web服務器上的頁面。JSP執行原理如下:

?

?

  客戶端請求jsp頁面,服務器就會找到該JSP,把它轉換成servlet的Java文件,編譯后得到.class文件,然后加載到內存中執行,最后把執行的結果響應到客戶端。了解JSP的運行原理后,我們知道JSP程序片斷最終會轉換為JAVA程序,而編譯JAVA程序我們需要安裝JDK。JDK提供了編譯JAVA文件的機制,我們知道JDK下的javac指令指向一個JAVA文件執行后,會將.java文件編譯成.class文件,它是JAVA程序的中間文件。而這個中間文件是計算機不能直接識別的,需要由JVM(Java Virtual Ma)進行解釋后形成機器語言后,計算機才能識別并執行的。JRE是運行JAVA程序所必須的環境集合,它包括Java虛擬機、 Java核心類庫以及支持文件,所以除了安裝JDK外我們需要去安裝JRE。

  JSP是用來編寫動態網頁的,所謂動態網頁“動態”一詞主要指的是"交互性"。動態網頁中不僅含有HTML標記,而且含有可以執行的程序代碼,動態網頁能夠根據不同的輸入和請求動態生成返回的頁面,例如常見的BBS、留言板、聊天室等就是用動態網頁來實現的。這和靜態網頁是有明顯不同的,靜態網頁內容是靜態不變的,使用靜態網頁,如果要修改網頁內容,就必須修改源代碼,然后重新上傳到服務器上。下面是靜態網頁和動態網頁的工作原理。

靜態網頁工作原理:

動態網頁工作原理:

動態網頁和靜態網頁的核心區別是:是否在服務器端執行。動態網頁中的某些腳本只能在服務器端運行,而靜態網頁中的任何腳本都不能在服務器端運行。動態網頁中可以同時包含客戶端腳本和服務器腳本,而靜態網頁中只能包含客戶端腳本。既然動態網頁是在服務器端執行的,那么我們就需要安裝服務器程序去執行我們的動態網頁。執行動態網頁的服務器有多種,對于運行JSP技術編寫的動態網頁有如下幾種。

1.Resin(最快的JSP、servlet服務器、開源、免費)

2.Tomcat (是目前使用量最大的免費開源JAVA服務器 ,熟練安裝配置Tomcat是軟件測試工程師的必備技能 )

3.WebLogic(是業界最好的JAVA應用服務器。功能強大,收費)

4.Websphere 是 IBM 的軟件平臺。

在這里我們選擇使用Tomcat去執行JSP編寫的動態網頁,我們需要安裝Tomcat服務器。我們需要了解的是,Tomcat是JAVA語言編寫,Tomcat需要在JRE(Java Runtime Environment)即JAVA運行時刻環境下才能運行。那么,我們安裝的JRE又派上用場了。所以,搭建JSP運行環境之前,必須要安裝好JRE。在安裝Tomcat過程中,就有尋找JRE文件夾的一步,沒有JRE則Tomcat不能被安裝成功。

?二、搭建JSP運行環境

安裝JDK、JRE(注意不用去下載JRE包,JDK安裝文件包中有JRE,在安裝JDK過程中會提示安裝JRE)

1、雙擊jdk安裝包,點擊【下一步】(您可到官網下載jdk安裝包,也可以通過計算機相關專業所用軟件---百度云鏈接下載進行下載)

?2、默認下一步就行,里面包含了所有項,包括公共jre ,點擊【下一步】

3、安裝jre,在這里可以更改jre安裝路徑,點擊【下一步】

4、等待安裝完成后,點擊【關閉】完成安裝JDK、JRE的安裝

5、測試有是否安裝(或安裝)好JDK

Win+R->cmd->輸入:“java -version”輸出JAVA版本信息,則表示已經安裝好JDK

6、配置環境變量Path

執行【我的電腦】-->【屬性】-->【高級系統設置】-->【環境變量】

在系統變量里找到Path變量,在Path變量的變量值里添加完整的JDK的bin目錄路徑,即:C:\Program Files (x86)\Java\jdk1.8.0_144\bin(這是我的bin目錄)。注意添加前要與前面的分隔開,使用英文格式下的分號“;”進行隔開。

7、檢查Path變量是否配置正確

Win+R->cmd->輸入javac,如果輸出javac命令的可選項,即表示配置成功。

8、配置環境變量Classpath

在“系統變量”對話框下單擊【新建】按鈕,在“變量名”文本框中輸入Classpath,在“變量值”文本框中輸入Java類文件的位置,如:“.;C:\Program Files\Java\jdk1.8.0_144\lib\tools.jar; C:\Program Files\Java\jdk1.8.0_144\li\dt.jar”(這是我的JDK安裝路徑,讀者只需找到自己安裝的JDK的jar包路徑就行)備注:tools.jar和dt.jar是JAVA程序運行的基礎類包,所以需要配置Classpath變量。“.”代表當前路徑,以它開頭是為了程序運行時,在當前路徑下去尋找額外的一些資源,例如自己寫的一些類。“;”是起著分割的作用,如果在前面的目中沒有找到想要的,則它會到分號后面的目錄中查找,一級一級的找下去,直到Classpath變量值的末尾,如果仍然沒有找到,就會報異常!

?

9、下面來安裝Tomcat web服務器(可到官網下載不同版本的Tomcat:http://tomcat.apache.org/download-80.cgi,也可到我的網盤里下載:計算機相關專業所用軟件---百度云鏈接下載),雙擊Tomcat安裝包后,選擇與Tomcat相關的文件進行安裝,可自定義安裝內容,這里選擇安裝下面打勾的內容。

10、自定義安裝Tomcat的路徑

11、默認下一步【NEXT】

12、下面要用到JRE的JVM(Java Virtual Machine),指定JRE文件的路徑后,點擊【Install】

13、安裝完成后,點擊【Finish】,運行Tomcat

14、我的電腦(此電腦)->管理->服務和應用程序->服務,然后找到Apache Tomcat,查看Tomcat服務器是否處于運行狀態。正常來說,Tomcat是啟動狀態的。

?

15、下面要做的是測試Tomcat是否正確安裝,在瀏覽器輸入“http://localhost:8080/”,回車后,如果出現下面的頁面,即表示Tomcat安裝成功。

?

16、查看與了解Tomcat主要目錄結構

bin 目錄:主要存放Tomcat的命令文件?

config 目錄:包含Tomcat的配置文件,如server.xml

logs目錄:存放日志文件

webapps目錄:存放應用程序實例,部署的應用程序保存在此目錄。

work目錄,存放JSP編譯后產生的class文件

17、JSP頁面的測試

用Sublime(記事本等其他編輯工具也行,最后要保存為后綴為.jsp的文件)編寫下面的代碼:

<html>

<body>

<%out.println("Hello!");%>

</body>

</html>

將文件命名為demo.jsp保存后,放置在webapps目錄下的root目錄下,即:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT?在瀏覽器地址欄中鍵入“http://localhost:8081/demo.jsp”(為了不引起端口沖突,我把Tomcat端口設置為8081) 瀏覽器界面輸出“Hello!”,如下圖:

注意:如果遇到服務器不能顯示JSP頁面,你可以換一種高版本的Tomcat服務器,作者一開始裝得Tomcat6就不行,換成8.5的版本后才可以。當然,或許你還會遇到其他問題,你可在下方留言,共同探討。

18、部署web服務應用

?第一方式:復制Web應用到Tomcat安裝目錄下的webapps文件夾中,通過在瀏覽器輸入“http://localhost:8081/myjsp/index.jsp”(myjsp是我們的web應用的文件夾)來實現。目錄如下:

?

?第二種方式:可以將Tomcat服務器所在計算機的某一目錄設置成一個web服務目錄,并為該web服務目錄指定虛擬目錄。用戶只能通過虛擬目錄訪問WEB服務目錄中的JSP頁面,隱藏WEB服務目錄的實際位置,增加安全性。可通過在server.xml文件中配置<Context>,在<host>和</host>之間加入“<Context path="/01" docBase="G:/JSPFILE" debug="0" reloadable="true"/>”,注意關閉標簽,否則當關閉服務器后,再開啟的時候,服務器開啟不了。debug 則是設定debug level,0表示提供最少的信息,9表示提供最多的信息,設置了這個屬性,運行在tomcat環境下的程序,源代碼一做改動,tomcat服務會自動重啟。

文章難免有疏漏之處,還望大家能多多指出,謝謝!

本文系作者原創,轉載請注明出處,謝謝合作!

?

轉載于:https://www.cnblogs.com/qikeyishu/p/7461278.html

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

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

相關文章

Docker容器的自動化監控實現

本文由 網易云 發布。 近年來容器技術不斷成熟并得到應用。Docker作為容器技術的一個代表&#xff0c;目前也在快速發展中&#xff0c;基于 Docker的各種應用也正在普及&#xff0c;與此同時 Docker對傳統的運維體系也帶來了沖擊。我們在建設運維平臺的過程中&#xff0c;也需…

robotframework 常用關鍵字

標準庫 第三方庫 其他庫轉載于:https://www.cnblogs.com/Chamberlain/p/10729054.html

身份證的驗證

var Wi [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加權因子 var ValideCode [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]; // 身份證驗證位值.10代表X function checkIdcard(idCard) { idCard trim(idCard);//去掉字符串頭尾空格 if (idCard.length 15…

人工智能實戰小程序之語音_前端開發

1. 人工智能實戰小程序之準備工作 2. 人工智能實戰小程序之語音_前端開發 今天這部分主要講小程序前端功能的開發由于我偏后端&#xff0c;css是我的弱項&#xff0c;可能很多人和我一樣開發小程序不知道如何下手&#xff0c;希望本篇文章對你有幫助我的學習路線是&#xff1a;…

當TFS/VSTS遇上Power BI

引言眾所周知&#xff0c;要對TFS進行深入的圖表分析&#xff0c;往往需要依賴于SQL Server Analysis Service和SQL Server Reporting Service。雖然隨著TFS對敏捷項目的支持&#xff0c;內置了諸如累積流圖、燃盡圖等快捷圖表&#xff1b;并且在最新的版本中還可以在儀表盤和查…

HashMap深度解析:一文讓你徹底了解HashMap

寫在前面HashMap是Map族中最為常用的一種&#xff0c;也是 Java Collection Framework 的重要成員。本文首先給出了 HashMap 的實質并概述了其與 Map、HashSet 的關系&#xff0c;緊接著給出了 HashMap 在 JDK 中的定義&#xff0c;并結合源碼分析了其四種構造方式。最后&#…

Bzoj3628: [JLOI2014]天天酷跑

3628: [JLOI2014]天天酷跑 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 121 Solved: 44[Submit][Status][Discuss]Description 在游戲天天酷跑中&#xff0c;最爽的應該是超級獎勵模式了吧&#xff0c;沒有一切障礙&#xff0c;可以盡情的吃金幣&#xff0c;現在請你控制…

python_線程、進程和協程

線程 Threading用于提供線程相關的操作&#xff0c;線程是應用程序中工作的最小單元。 1 #!/usr/bin/env python2 #codingutf-83 __author__ yinjia4 5 6 import threading,time7 8 def show(arg):9 time.sleep(2) 10 print(線程: str(arg)) 11 12 for i in range(…

AppDelegate瘦身之服務化

有沒有覺得你的AppDelegate雜亂無章&#xff1f;代碼幾百行上千行&#xff1f;集成了無數的功能&#xff0c;如推送、埋點、日志統計、Crash統計等等&#xff0c;感覺AppDelegate無所不能。 來一段一般的AppDelegate代碼&#xff0c;來自網上一篇文章&#xff1a; UIApplicatio…

第四章:手機平板要兼顧-探究碎片

碎片是什么&#xff1f; 碎片&#xff08;Fragment&#xff09;是一種可以嵌入在活動&#xff08;Activity&#xff09;中的 UI 片段&#xff0c;它能讓程序更加合理和充分的利用大屏幕的空間&#xff0c;因而在平板上應用的非常廣泛。 碎片的使用方式 靜態嵌入動態加載碎片和活…

Android Studio 3.4增可視化資源管理工具 可管理和預覽項目資源

經過6個月的開發時間&#xff0c;網絡大廠17日發布了最新版的App開發IDE Android Studio 3.4&#xff0c;現在就能夠下載使用&#xff0c;除了有超過300個錯誤修護和穩定度增強之外&#xff0c;在開發、建置和測試App階段&#xff0c;都推出了一些小的新功能和工具&#xff0c;…

Python安裝、使用MySQL數據庫

本機安裝的python版本為Python 2.7(win32 bit) 從http://www.codegood.com/archives/129下載MySQL-python-1.2.3.win32-py2.7.exe&#xff0c;點擊安裝 如果是win版還需要下載&#xff1a;libguide40.dll 和 libmmd.dll這兩個文件&#xff0c;下載后放入到到C:\WINDOWS/syste…

pytorch 安裝

安裝pytorch時&#xff0c;官網不能選擇版本。原以為是瀏覽器問題&#xff0c;換了幾個瀏覽器都不行。 后來FQ之后&#xff0c;就能選擇版本了。 sudo pip install torch torchvision轉載于:https://www.cnblogs.com/rabitvision/p/8908757.html

《JavaScript 高級程序設計》精讀筆記

本系列讀書筆記是我通過學習《Javascript 高級程序設計》第3版時結合自己的理解、概括、精煉然后加以一定的拓展&#xff0c;總結而來的&#xff0c;非常適合具有一定基礎&#xff0c;同時又想把 JS 基礎學更好的童鞋&#xff0c;當然更希望得到大家的反饋于建議&#xff0c;比…

struts2實現文件查看、下載

CreateTime--2017年9月7日10:25:33 Author:Marydon struts2實現文件查看、下載 1.界面展示 <a style"color: #199ED8;" target"_blank" href"<c:url value"/telemedicine/reseCons/viewFile.do?fileName201516529IO.jpg"/>"…

css文本設置

常用的應用文本的css樣式&#xff1a; color 設置文字的顏色&#xff0c;如&#xff1a; color:red; font-size 設置文字的大小&#xff0c;如&#xff1a;font-size:12px; font-family 設置文字的字體&#xff0c;如&#xff1a;font-family:微軟雅黑; font-style 設置字體…

關鍵字static

原文出處&#xff1a;http://cmsblogs.com/ 『chenssy』 一、 static代表著什么 在Java中并不存在全局變量的概念&#xff0c;但是我們可以通過static來實現一個“偽全局”的概念&#xff0c;在Java中static表示“全局”或者“靜態”的意思&#xff0c;用來修飾成員變量和成員方…

[IoC容器Unity]第三回:依賴注入

上節介紹了&#xff0c;Unity的Lifetime Managers生命周期&#xff0c;Unity具體實現依賴注入包含構造函數注入、屬性注入、方法注入&#xff0c;所謂注入相當賦值&#xff0c;下面一個一個來介紹。 2.構造函數注入 Unity利用Resolve方法解析一個對象&#xff0c;都是調用注冊類…

Apache CarbonData 1.5.0編譯及安裝

2019獨角獸企業重金招聘Python工程師標準>>> 一、編譯環境描述 OpenStack創建五個虛擬機&#xff0c;其中1個主節點&#xff08;hostname為bigdatamaster&#xff09;&#xff0c;4個從節點&#xff08;hostname分別為&#xff0c;bigdataslave1、bigdataslave2、bi…

JS控制網頁全屏

在谷歌&#xff0c;IE等瀏覽器中&#xff0c;點擊F11按鍵會進入網頁全屏模式&#xff0c;如同看電影的劇場模式&#xff0c;這個在代碼中可以通過JS來實現&#xff0c;簡單說下在實現這個需求后的個人總結&#xff1a; 底層網頁是已經加載完畢的&#xff0c;這時我們需要的全屏…