一、基本語法
1.jsp本質
就是用java代碼輸出字符串,具體參考生成的java源碼
位置:
C:/Users/登錄名/.IntelliJIdea2017.2/
system/tomcat/Tomcat-pure_工程名/
work/Catalina/localhost/appcontext名稱/org/apache/jsp
2.自動輸出的語句塊(易錯 參考二、1)
1.普通表達式
<%=new String("Hello")%>
<%=new Date()%>
2.ER表達式(作用同上)
自動過濾null值(取值輸出推薦使用)
${new Date()}
效果:
3.手動輸出的語句塊
<%
int sum = 0;
for (int i = 0; i < 50; i++) {
sum += i ;
}
out.println("2.jsp腳本片段:sum="+sum+"");
%>
效果:
4.jsp聲明(全局)
<%!
private String name;
private int age;
static {
//這裏不能寫out.println()是因爲out 是一個
//在_jspService()方法裏聲明的常量。
System.out.println("hello");
}
%>
二、遇到的問題和解決
1.在 <%= %>輸出語句報錯
下面的語句將無法編譯
<%= out.println("Hello")%>
解決
<%= %>本來就有輸出功能,輸出+輸出=error
不要在這個語句塊裏輸出即可,如果必定要輸出使用例如使用下面的替代方式
<%=new String("Hello")%>
<%=new Date()%>
2. maven使用依賴導包失敗
error提示信息爲
Dependency ‘javax.servlet.jsp.jstl:jstl-api:1.2’ not found
Inspection info: Inspects a Maven model for resolution problems.
解決:
1.手動導包
(1)下載對應的jar包,
(2)填入依賴點擊刷新和下載源文件和doc(這步驟可以下載resource包和doc包)
(3)在project Structure 裏面的 Libraries 裏面右邊 + (加號)導入對應的 jar包即可。
(4)再次刷新
(5)檢查jar包已經導入
(6)但是依賴的位置依舊爆紅 未解決
2.解決2:恢復自動導包
這個暫時沒有找到解決方法**,如果你有什麼好的建議
請務必私信我。**
3.爲什麼在jsp聲明(全局)中無法out.print()?
因爲out 是一個在_jspService()方法裏聲明的常量。
4. html註釋會被前端看到
1.HTML註釋
<!--1.HTML註釋-->
2.jsp註釋
<%--2.jsp註釋--%>
3.java註釋
//3.java註釋單行
/*
3.java註釋 多行
3.java註釋 多行
3.java註釋 多行
/*
/**
* 3.java註釋 文檔
* 3.java註釋 文檔
* /
- html註釋會被前端看到
- jsp註釋和java註釋不會寫到HTML給前端瀏覽器看到