服務端編譯指定頁面
㈠ jsp與.html頁面到底有什麼區別,區別在哪
HTML(Hypertext Markup Language)文本標記語言,它是靜態頁面,和javaScript一樣解釋性語言,為什麼說是解釋性 語言呢?因為,只要你有一個瀏覽器那麼它就可以正常顯示出來,而不需要指定的編譯工具,只需在TXT文檔中寫上HTML標記就OK。
JSP(Java Server Page)看這個意思就知道是Java服務端的頁面,所以它是動態的,它是需要經過JDK編譯後把內容發給客戶端去顯 示,我們都知道,Java文件編譯後會產生一個class文件,最終執行的就是這個class文件,JSP也一樣,它也要編譯成class文件!JSP不 止要編譯,它還得要轉譯,首先把JSP轉譯成一個Servlet文件,然後在編譯成class文件。當用戶訪問JSP時就執行了class文件,最 終......
1.最簡單的區別就是,HTML能直接打開,jsp只能發布到Tomact等伺服器上才能打開 。
2.定義上HTML頁面是靜態頁面可以直接運行,JSP頁面是動態頁它運行時需要轉換成servlet。
3.他們的表頭不同,這個是JSP的頭「 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>」在表頭中有編碼格式和倒入包等。
4.也是很好區分的在jsp中用<%%>就可以寫Java代碼了,而html沒有<%%>。
㈡ tomcat怎麼編譯jsp文件
一、jsp執行過程圖解
用戶訪問jsp頁面時,jsp的處理過程如下圖所示:從圖中可以看出,Tomcat的核心組建是connector和container,container就是容器。容器就是負責管理控制servlet的應用程序。圖中的jasper就是解析jsp的jsp引擎。Tomcat既是servlet容器又是web伺服器,也是jsp引擎。
㈢ androidpn服務端源碼修改後怎麼編譯
1.伺服器:
ConfigManager--配置信息載入類,
Config--配置信息管理類,可以得到配置文件中指定屬性的值;
CopyMessageUtil--將IQ中的id得到賦值給回執對象;
AuthManager--提供用戶認證的相關功能;
IQAuthHandler--接收並處理命名空間為「jabber:iq:auth」的消息請求,用於處理用戶驗證業務;
IQRegisterHandler--接收並處理命名空間為 "jabber:iq:register"的消息請求,用於處理用戶注冊業務;
IQRosterHandler--接收處理命名空間為"jabber:iq:roster"的消息請求,用於處理用戶獲取花名冊業務;--未提供實現,如需此功能需要擴展;
PresenceUpdateHandler--接收處理用戶的狀態變更請求信息;
Connection--一個XMPP連接伺服器的實例,提供發送消息及得到伺服器連接相關信息;
ConnectionCloseListener--客戶端與伺服器之間的連接斷開監聽器;
StanzaHandler--一個消息處理類,處理傳入的XML節,把接收到的消息轉換成一個XML的對象;
XmppIoHandler--繼承於MINA中的IOHandler,用於從MINA中接收消息,並把消息交給StanzaHandler類處理;
PresenceManager--用於管理用戶的在線狀態;
NotificationManager--消息通知發送管理類,提供了發送消息給客戶端的功能:
A.sendBroadcast--給所有在線用戶發送消息;
B.sendNotifcationToUser--給指定用戶發送消息 ;
C.sendNotifications--給指定的多個或一個用戶發送消息;
D.sendOfflineNotification--發送離線消息;
IQRouter--IQ請求路由類,繼承了IQHandler的IQ消息處理類需要在IQRouter類中注冊,IQRounter就會跟命名空間把消息路由到相應的處理類中去處理;
MessageRouter--Message消息路由類;
PresenceRouter--Presence消息路由類;
PacketDeliverer--發送到連接的會話;
PacketRouter--Packet路由類,在這個類里有IQRouter、PresenceRouter、MessageRouter三個類的對象,可以對三種類型的消息都可以進行處理路由;
ClientSession--代表一個客戶端與伺服器之間的連接;從這個連接中可以得到這個連接的相關信息,如用戶名,狀態等;
SessionManager--管理所有與伺服器之間的連接;
伺服器端接收客戶端消息處理流程:
2.Android端:
NotificationService類--後台運行並響應來自伺服器的事件推送通知服務;
ServiceManager類--載入客戶端中的配置信息,並管理NotifactionService服務的啟動與關閉;
XmppManager類--管理客戶端和伺服器之間的連接,向伺服器發送連接、注冊、登陸請求任務;
NotificationDetailsActivity --用於終端接收到的通知詳細視圖顯示;
NotificationIQ--通知實體;
NotificationIQProvider--一個xml的處理類,負責把一個xml結構的消息內容轉換成一個NotificationIQ通知實體對象;
NotificationPacketListener---接收從伺服器端推送過來的Packet;
NotificationSettingsActivity--設置信息;
NotificationReceiver--推送通知消息的廣播接收器;
PersistentConnectionListener--監控客戶端與伺服器之間的連接關閉和重新連接事件;
PhoneStateChangeListener--監聽手機狀態;
ConnectivityReceiver--網路變化廣播接收器;
PacketReader--從MINA中讀取推送過來的信息;
PacketWriter--向MINA中寫入回執信息;
接收消息處理流程:
PacketReader
init():
readerThread = new Thread() {
public void run() {
parsePackets(this);
}
};
-》parsePackets
-》processPacket
-》NotificationPacketListener
-》NotificationIQProvider
-》NotificatioIQ
-》Intent
-》發送回執、發出接收到消息的廣播
-》點擊消息的時候,再次給服務端發送一個查看請求,修改伺服器中消息的狀態;
如果服務端發送一個message類型的消息到客戶端後,客戶端是無法處理的。
也就是說客戶端可以發送不同類型的消息到服務端,但是卻不能處理服務端發回的除IQ認證消息以外的其他類型的消息。
如果需要擴展,需要在NotificationPacketListener類中加入處理邏輯,並提供相應的Provider、消息實體及後續處理邏輯。
㈣ .net 編譯後.aspx頁面上的伺服器端代碼(如:<%response.write("dd")%>)會發生變化嗎
.NET的頁面是將代碼和界面分離的,所以編譯後只是將代碼頁面也就是.cs的頁面進行封裝,而.aspx的頁面是不做任何操作的,所以你在.aspx頁面上做的伺服器端代碼,是可以看見和修改的。
㈤ 如何實現在瀏覽器中拿到代碼,再傳到後台調用C編譯器進行編譯運行
後端工具是什麼無所謂,你用c照樣能搭後端,本質都是HTTP協議上傳輸的一組數據,思路我之前已經說了。基本思路就是這樣,你換什麼工具都一樣。
瀏覽器如何拿到代碼?DOM+js
如何傳給後端?Ajax
後端如何收到?工具里的API,自行查手冊。
你最大的問題在於對HTTP協議並不了解,這種情況下,去了解你所使用的工具即可,碼個demo,你就知道大體流程了。
----------------
你需要了解一下HTTP相關的知識,或者直接使用相關的工具來跳過了解HTTP這一步驟(時間不夠的話)
相關的工具如:1、apache2和php,2、java,3、python和django
前端頁面里使用ajax將數據提交到伺服器,伺服器藉助上述某個工具的API獲取前端提交的內容,然後保存到文件,在調用命令行進行編譯,將輸出重定向到文件,然後與標准答案比較。
㈥ asp.net頁面指令page什麼屬性能指定編輯語言
Language屬性 該屬性指定編譯頁面使用的語言。每頁只能使用和指定一種語言。
例如,指定ASP.NET頁編譯器使用Visual Basic作為頁的伺服器端代碼語言。代碼如下:
<%@ Page Language="VB" %>
------------------------------------------------------
@Page指令
@Page指令允許開發人員為頁面指定多個配置選項,並且該指令只能在Web窗體頁中使用。每個.aspx文件只能包含一條@Page指令。@Page指令可以指定:頁面中代碼的伺服器編程語言;頁面是將伺服器代碼直接包含在其中(即單文件頁面),還是將代碼包含在單獨的類文件中(即代碼隱藏頁面);調試和跟蹤選項,以及頁面是否為某母版頁的內容頁。
語法:
<%@ Page attribute="value" [attribute="value"...]%>
attribute 為@Page指令的屬性。@Page指令語法中各屬性的說明如表所示。
@Page指令屬性說明
--屬性----描述-----
Async 使頁成為非同步處理程序默認值為false
AsyncTimeOut 定義在處理非同步任務時使用的超時時間間隔(以秒為單位)。默認值為45秒。該值必須是整數
AutoEventWireup 指示頁的事件是否自動綁定。如果啟用了事件自動綁定,則為true;否則為false。默認值為true
Buffer 確定是否啟用了HTTP響應緩沖。如果啟用了頁緩沖,則為true;否則為false。默認值為true
ClassName 一個字元串,指定在請求頁時將自動進行動態編譯的頁的類名。此值可以是任何有效的類名,並且可以包括類的完整命名空間(完全限定的類名)。如果未指定該屬性的值,則已編譯頁的類名將基於頁的文件名
CodeFile 指定指向頁引用的代碼隱藏文件的路徑
CodeFileBaseClass 指定頁的基類及其關聯的代碼隱藏類的路徑。此屬性是可選的,但如果使用此屬性,則必須同時使用CodeFile屬性
CodePage 指示用於響應的編碼方案的值
CompilationMode 設置是否應使用指定多個枚舉選項之一的字元串來編譯頁。默認值為 Always,因此,默認情況下編譯 .aspx 頁
Culture 指示頁的區域性設置。該屬性的值必須是有效的區域性ID。注意,LCID和Culture屬性是互相排斥的;如果使用了其中一個屬性,就不能在同一頁中使用另一個屬性
Debug 指示是否應使用調試符號編譯該頁。如果應使用調試符號編譯該頁,則為 true;否則為 false。由於此設置影響性能,因此只應在開發期間將此屬性設置為 true
Description 提供該頁的文本說明。ASP.NET分析器忽略該值
EnableEventValidation 在回發方案中啟用事件驗證。如果驗證事件,則為true;否則為false。默認值為true
EnableSessionState 定義頁的會話狀態要求。如果啟用了會話狀態,則為true;如果可以讀取會話狀態但不能進行更改,則為ReadOnly;否則為false。默認值為true。這些值不區分大小寫
EnableTheming 指示是否在頁上使用主題。如果使用主題,則為true;否則為false。默認值為true
EnableViewState 指示是否在頁請求之間保持視圖狀態。如果要保持視圖狀態,則為true;否則為false。默認值為true
ErrorPage 定義在出現未處理頁異常時用於重定向的目標URL
Inherits 定義供頁繼承的代碼隱藏類。它與CodeFile 屬性(包含指向代碼隱藏類的源文件的路徑)一起使用
Language 指定在對頁中的所有內聯呈現(<% %> 和 <%= %>)和代碼聲明塊進行編譯時使用的語言。值可以表示任何.NET Framework支持的語言,如C#
LCID 定義Web窗體頁的區域設置標識符MaintainScrollPosition
OnPostback 設置在回發後是否將客戶端的頁面返回到請求前的同一位置,默認為false
MasterPageFile 設置內容頁的母版頁或嵌套母版頁的路徑。支持相對路徑和絕對路徑
ResponseEncoding 指示用於包含頁內容的HTTP響應的編碼方案的名稱。分配給該屬性的值是有效的編碼名稱
SmartNavigation 指示頁是否支持Internet Explorer 5.5或更高版本的智能導航功能。如果啟用了智能導航,則為true;否則為false。默認值為false
Src 指定包含鏈接到頁的代碼的源文件的路徑。在鏈接的源文件中,可以選擇將頁的編程邏輯包含在類中或代碼聲明塊中。可以使用Src屬性將生成提供程序鏈接到頁
StyleSheetTheme 定在頁上使用的有效主題標識符。如果設置了StyleSheetTheme屬性,則單獨的控制項可以重寫主題中包含的樣式設置。這樣,主題可以提供站點的整體外觀,同時,利用StyleSheetTheme屬性中包含的設置可以自定義頁及其各個控制項的特定設置
TargetSchema 指定用於驗證頁內容的方案的名稱。此屬性僅起描述性的作用,而不會真正執行驗證;分析器將忽略此屬性Theme 指定在頁上使用的有效主題標識符。如果設置Theme屬性時沒有使用StyleSheetTheme屬性,則將重寫控制項上的單獨的樣式設置,允許您創建統一而一致的頁外觀Title 指定在響應的 HTML<title>標記中呈現的頁的標題。也可以通過編程方式將標題作為頁的屬性來訪問Trace 指示是否啟用跟蹤。如果啟用了跟蹤,則為true;否則為false。默認值為false
TraceMode 指示當啟用跟蹤時如何為頁顯示跟蹤消息。可能的值為SortByTime和SortByCategory。當啟用跟蹤時,默認值為 SortByTime
Transaction 指示在頁上是否支持事務。可能的值有Disabled、NotSupported、Supported、Required和RequiresNew。默認值為Disabled
常用屬性說明:
(1)AutoEventWireup屬性 該屬性指示頁的事件是否自動綁定。
ASP.NET 2.0默認為true,ASP.NET 1.0和ASP.NET 1.1默認為false。ASP.NET頁觸發的事件,如Init、Load等,在默認情況下,可以使用「Page_事件名」的命名約定將頁事件綁定到相應的方法,頁面編輯時ASP.NET將查找基於此命名約定的方法,並自動執行。
例如,如果要顯示聲明事件的處理程序,可以將AutoEventWireup屬性設置為false。代碼如下:
<%@ Page Language="C#" AutoEventWireup="false" %>
(2)CodeFile屬性 該屬性指定指向頁引用的代碼隱藏文件的路徑。此屬性與Inherits屬性一起使用可以將代碼隱藏源文件與網頁相關聯。此屬性僅對編譯的頁有效。
例如:新添加一個.aspx頁時,設置該頁面代碼隱藏文件的路徑為「Default2.aspx.cs」。代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
說明:若要定義@Page指令的多個屬性,請使用一個空格分隔每個屬性/值對。對於特定屬性,不要在該屬性與其值相連的等號(=)兩側加空格。
(3)Language屬性 該屬性指定編譯頁面使用的語言。每頁只能使用和指定一種語言。
例如,指定ASP.NET頁編譯器使用Visual Basic作為頁的伺服器端代碼語言。代碼如下:
<%@ Page Language="VB" %>
㈦ 為什麼asp.net頁面要編譯兩次為什麼第一次顯示asp.net頁面要花幾秒鍾的時間,而以後的瀏覽器僅需幾毫秒
你好,
ASP.NET不同於ASP,PHP這種伺服器腳本。ASP.NET可以說已經不是在做網站了,更像是做網路軟體工程。
直接回答你的問題,通俗的說,ASPX第一次打開,需要先把你寫的東西通過中介編譯一遍,才能變成「網站」。第一次打開會很慢,這段時間就是伺服器在編譯。而你說的編譯兩次,應該是IIS自動回收應用池,也就是網站有一段時間沒有訪問,之前編譯過的會被清空。當產生訪問時候,又會重新編譯。
你在上傳到伺服器之前,先「發布」一次網站,然後把.ASPX+DLL形式的網站傳到伺服器,這樣會加快網站訪問速度的。
希望對你有幫助|www.summur.com
㈧ C#後台代碼運行結果怎麼在瀏覽器上顯示出來求解
這需要建立一個BS模式的代碼工程,將後台處理功能寫入伺服器端指定頁面的後台代碼,在該頁面的前端,通過前端控制項實現輸出。工程文件編譯後,架設一個Web伺服器端,瀏覽器通過該Web伺服器的地址和埠,訪問伺服器程序的特定頁面,就可以在瀏覽器看到運行結果了。
㈨ JSP頁面是如何在客戶端和伺服器端執行的
客戶端在通過瀏覽器訪問伺服器端存放的JSP時,JSP中的java代碼、標簽等是在伺服器端運行的,生成普通的html,最終返回客戶端的是這些html,這樣解釋明白么。
JSP在伺服器端是被編譯成為servlet的,這些servlet負責提供html的輸出,因此說JSP和Servlet一樣屬於伺服器端的技術。但是你從地址欄里輸入的可能有jsp後綴,並不表示它就是客戶端運行的。
㈩ 在Apache PHP環境下能編譯執行哪些伺服器網頁文件呢
HTM