JSP基礎,jsp基礎教程
JSP是Java Server Pages的三個單詞的縮寫,也就是伺服器端的Java頁面。
JSP的注釋方法由三種:
1、HTML注釋,<!--注釋內容-->,這種注釋用戶端可見,存在安全隱患。
2、JSP注釋,<%--注釋內容-->
3、Java指令碼注釋,在JSP指令碼中使用Java的三種注釋。
指令標籤是用於定義整個JSP頁面相關資訊。
文法:
<%@ directive attribute="value" %>
directive指令名稱,JSP中包含三個指令,page、include、taglib。
attribute,屬性名稱,即該指令的屬性。
value,屬性值,即該指令相應屬性的值。
注意:<%@ %>是完整標記,中間不能添加空格。
例如,page指令通過內部多個屬性來定義JSP檔案的全域屬性,
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
在JSP中使用<% out.print();%>進行輸出,這種輸出的弊端也很明顯,使Java代碼和HTML標籤混合,可讀性差,並且不利於修改。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'MyJsp.jsp' starting page</title> </head> <body> <% out.print("輸出測試!"); %> </body></html>
為了簡化輸出,我們可以使用<%=Java運算式 %>的方式輸出。
這裡的Java運算式通常是Java變數或帶返回值的方法。
例如:
<% String title="新聞標題“%><%=title %>
注意:變數或方法後面不能以分號結尾,否則會報錯。
同樣對於一些特殊字元輸出時我們需要對齊進行轉義。
例如:<%、%>、‘、"、\。
這些字元在JSP中都有特殊含義和用途,所以在JSP程式中如果遇到這些字元都需要進行轉義。
起始標籤<%,修改為<%。
結束標籤%>,修改為%>。
其他字元在使用前加上轉義符\即可。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'MyJsp.jsp' starting page</title> </head> <body> <% out.print("JSP中遇到:\',\",\\,<%,和%>時,需要進行適當的修改。"); %> </body></html>
JSP中如果用到Java中的一些類則需要在檔案的開頭使用<%@ page import="包名" %>匯入包。
例如:
<%@ page import="java.util.*"%>
JSP的執行過程:**_jsp.java-->編譯**_jsp.class-->執行
在JSP中還支援全域變數的聲明,聲明全域變數的方法:
<%!全域變數%>
調用時只需要調用變數名稱即可,同時也可以是方法。
在web編程中最常見的錯誤:
404錯誤----找不到訪問的頁面或資源。錯誤原因:運行時輸入的URL錯誤、將頁面放在web-inf目錄下,外部啟動Tomcat,未部署項目。
500錯誤----JSP頁面代碼有錯誤。錯誤原因:JSP代碼錯誤。
jsp入門問題
我寫了四個jsp檔案
1,user.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<body>
<form name="form" action="do.jsp">
請輸入使用者名稱:<input type="text" name="username" value="">
<input type=submit name="submit" value="提交">
</form>
</body>
</html>
2. do.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<body>
<%
String user=request.getParameter("username");
%>
<%
if(user.equals(""))
{%>
<jsp:forward page="/false.jsp"></jsp:forward>
<%}else{%>
<jsp:forward page="/success.jsp">
<jsp:param name="username" value="<%=user %>"/>
</jsp:forward>
<%} %>
</body
3.false.jsp
<%@ page language="java&......餘下全文>>
JSP入門概念問題……
概念性的不講了 其他人都有解釋。將下區別
看過一段比較經典的話:JSP是在HTML中寫JAVA代碼,SERVLET是在JAVA中寫HTML。
JSP注重於頁面的顯示,SERVLET注重與業務和邏輯。
JSP是SERVLET的衍生物(SERVLET對頁面顯示難以控制導致JSP的出現)
JSP執行時會被轉化SERVLET檔案之後才能被伺服器解釋。
TOMCAT是一種開原始伺服器,別人要訪問你的頁面要先通過網路向在本地的伺服器申請,之後伺服器在將本地的東西轉化為HTML傳遞給訪問者。
就像網上購物,貨物是在別人那裡,你要先申請向他買東西,他接收你的購物請求後,把東西封裝後寄給你。伺服器是必須的!