JSP : Java Server Pages
在Tomcat基础上才能运行(发布 部署)
常见的三种状态码:
200 表示成功响应了请求内容(页面不会显示)
404 表示请求的资源找不到,无法正确响应
500 表示服务器发生异常,无法正确响应
2xx一般是成功响应,4xx一般是请求错误,5xx一般是服务器内部错误(代码编写有误),3xx一般是重定向
--------------------JSP基本元素和JSP原理
一. 元素
JSP脚本: <% %> 作用是在JSP页面上写Java代码
JSP表达式: <%= %> 作用主要是在JSP页面上实现输出功能
二. JSP中出现的注释3种
1. HTML注释 <!-- 注释 --> (不推荐使用)
右键网页查看源的时候能看到, 在Java源文件中能看到
HTML注释中可以运算Java代码
会发送到浏览器, 占流量, 不安全
2. JSP注释 <%-- JSP注释 --%>
右键网页查看源的时候不能看到, 在Java源文件中不能看到
不能运算Java代码
不会发送到浏览器, 不占流量, 安全
3. Java注释 // /**/
右键网页查看源的时候不能看到, 在Java源文件中能看到
不能运算Java代码
不会发送到浏览器, 不占流量, 安全
总结:
1. HTML注释发送到客户端, 占流量, 不安全
2. JSP注释不发送到客户端, 省流量, 安全
三. JSP指令( page / include / taglib(标签库) )
1. page: 主要是用来声明页面的全局属性(脚本语言, 导包)
import三种方式:
<%@ page import="包" %>
<%@ page import="包1,包2" %>
<%@ page import="包1" import="包2" %>
2. include: 在JSP页面中导入其他页面(类似内嵌框架iframe)
静态包含:<%@ include file="head.jsp" %>
把网页的源代码完全复制过来, 有可能变量会有重名
不会产生第2个jsp文件
与之相对的有动态包含
<jsp:include page="foot.jsp"></jsp:include>
把网页的结果导入进来
会产生第2个jsp文件
静态包含和动态包含的区别?
1. 动态包含使用JSP动作(包含动作), 静态包含使用JSP指令(include指令)
2. 动态包含是将页面的结果作为本页面的一部分, 静态包含是将页面的源码作为本页面的一部分
3. 动态包含各自都独立编译, 静态包含同时编译在一个文件中
四. 声明: 用来在JSP中声明全局变量和方法
<% %> 脚本(写代码)
<%= %> 表达式(输出)
<%! %> 声明(创建全局变量和方法)
<%@ %> JSP指令(page导包, include包含)
--------- JSP原理 (★★★★★)
index.jsp -> Tomcat(转译) -> index_jsp.java -> 编译 - > index_jsp.class -> 运行 -> 返回给浏览器(java源文件和编译后的.class文件存放在tomcat的work文件夹中)
JSP项目存放所在地:
D:\Tomcat 8.0\webapps\ 仅供参考
或者
F:\Workspaces\MyEclipse10.7\.metadata\.me_tcat\webapps\ 仅供参考(MyEclipse)
JSP转译之后Java文件所在地:
D:\Tomcat 8.0\work\Catalina\localhost\项目名\org\apache\jsp\ 仅供参考
或者
F:\Workspaces\MyEclipse10.7\.metadata\.me_tcat\work\Catalina\localhost\项目名\org\apache\jsp 仅供参考