任何语言都有自己的语法,Java中有。JSP作为Java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可),Java所有的语法都支持
-
JSP表达式
<%-- JSP表达式 作用:用来将程序的输出,输出到客户端 <%= 变量或者表达式%> --%> <%= new java.util.Date()%> -
JSP脚本片段
<%-- jsp脚本片段 --%> <% int sum = 0; for (int i = 1; i < 100; i++) { sum += i; } out.println("Sum=" + sum + ""); %> -
JSP脚本片段的再实现
<% int x = 10; out.println(x); %>这是一个JSP文档
<% int y = 20; out.println(x); out.println(y); %>
<%-- 在代码中嵌入HTML元素 --%> <%--EL表达式 ${变量}--%> <% for (int i = 0; i < 5; i++) { pageContext.setAttribute("num",i); %> Hello World <%=i%>,${pageScope.num} <% } %> -
JSP声明
<%! static { System.out.println("Loading Servlet!"); } private int globalVal = 0; public void gong() { System.out.println("进入了方法gong!"); } %>JSP声明:会被编译到JSP生成Java的类中!其他的,会被生成到_jspService方法中
在JSP,嵌入Java代码即可!
<%%> <%=%> <%!%> <%--注释--%>
JSP的注释,不会在客户端显示,HTML就会!
<%-- 我是JSP的注释 --%>
<%@page args...%>
<%@include file=""%>
<%--@include会将两个页面合二为一--%>
<%@ include file="common/header.jsp" %>
网页主体
<%
int i = 10;
%>
<%@include file="/common/footer.jsp" %>
<%--
JSP标签,
jsp:include:拼接页面,本质还是三个【从work目录下的源码就可以看出来】
--%>
网页主体
代码show
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
$Title$
<%--
JSP表达式
作用:用来将程序的输出,输出到客户端
<%= 变量或者表达式%>
--%>
<%= new java.util.Date()%>
<%-- jsp脚本片段 --%>
<%
int sum = 0;
for (int i = 1; i < 100; i++) {
sum += i;
}
out.println("Sum=" + sum + "");
%>
<%
int x = 10;
out.println(x);
%>
这是一个JSP文档
<%
int y = 20;
out.println(x);
out.println(y);
%>
<%-- 在代码中嵌入HTML元素 --%>
<%--EL表达式 ${变量}--%>
<%
for (int i = 0; i < 5; i++) {
pageContext.setAttribute("num",i);
%>
Hello World <%=i%>,${pageScope.num}
<%
}
%>
<%!
static {
System.out.println("Loading Servlet!");
}
private int globalVal = 0;
public void gong() {
System.out.println("进入了方法gong!");
}
%>
<%-- 我是JSP的注释 --%>
index2.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--定制错误页面--%>
<%@ page errorPage="error/500.jsp" %>
<%--显式的声明这是一个错误页面--%>
<%@ page isErrorPage="true"%>
<%@ page pageEncoding="UTF-8" %>
Title
<%
int i = 1/0;
%>
index3.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
<%--@include会将两个页面合二为一--%>
<%@ include file="common/header.jsp" %>
网页主体
<%
int i = 10;//测试变量作用域
%>
<%@include file="/common/footer.jsp" %>
<%--
JSP标签,
jsp:include:拼接页面,本质还是三个【从work目录下的源码就可以看出来】
--%>
网页主体
common/header.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> 我是header
common/footer.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> 我是footer
error/404.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
404
404
error/500.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
500
500错误
web.xml
pom.xml
4.0.0 com.gongyi javaweb-jsp 1.0-SNAPSHOT javax.servlet servlet-api 2.5 javax.servlet.jsp javax.servlet.jsp-api 2.3.3 javax.servlet.jsp.jstl jstl-api 1.2 taglibs standard 1.1.2
代码结构图:
彩蛋1.idea普通工程(不用模板)创建变为web工程
添加web支持
1)工程右键:
2)添加web支持
2.idea tomcat在jsp变更的时候热部署
第一个箭头,在更新jsp时不用重新发布tomcat就行
3.浏览器抓包分析请求
4.http://localhost:8080/javaweb_jsp_war_exploded/jsp2.jsp 图片不显示问题
原因:
生成的out目录下无图片:
手工把out目录删除,重新部署tomcat就行
或者直接rebuild artifactId也行
这样会更新out目录
解决idea web项目中out目录更新不同步问题



