JAVA Web基础1-JSP概念
一.基本概念
1.C/S :client server 指客户端服务
B/S :brower server 指浏览器服务,不用安装, 只需要有一个服务器。
2.JSP基本概念
jsp全称java server page ,jsp页面是在服务器上运行的一个页面。
动态网页是指与后台有数据交互的网页。
各语言的区别:
- jsp 使用java语言进行开发, 安全性高, 适合大型项目, 企业级的应用,分布式项目, 服务器集群, hadoop, spark(大数据)
- asp.net 使用c#, .Net平台, 简单易用, 因为不开源, 所以安全性低, 并且不能跨平台使用.Net开发项目, 最好使用windows系统和sqlserver数据库
- php 简单 高效 成本低 开发周期短, 适合中小型企业的web应用开发,php的黄金搭档---(LAMP: linux, Apache, Mysql, PHP)WAMP
3.服务器
是指用来接受客户端请求的一个地址,学习Java web时使用tomcat服务器
常用的几个服务器
JBOSS
weblogic(多数公司使用的服务器)
nginx
Websphere
4.Tomcat介绍(中间件服务器)
bin 存放可执行文件
conf Tomcat的所有配置
webapps 需要部署的项目
logs 日志
temp 临时文件
work Tomcat运行之后编译的文件
lib 运行Tomcat服务器所需要的 jar 文件
5.新建项目
鼠标右键新建一个 Dynamic Web project(动态网页项目)
context root:指根目录名称,默认与项目名相同
content directory:存放网页上用到的html,css,img文件等,默认名webcontent
在项目文件夹下webcontent 中新建一个JSP.File 文件
6.eclipse进程被关闭时,服务器状态如果显示为stop,再次运行服务器时会报端口错误,此时需要关闭任务管理进程中的javaw这个进程,即关闭服务器进程。
二.JSP指令标识
1.page指令
格式:<%@ page ........%>
属性:
language:(语言)指当前页面使用的语言:目前只支持java;
import:(引入)当前页面引入的类库, 默认都不引入;
contentType:(内容类型)格式一般固定:text/html; charset='字符集';iso-8859-1是字符集的默认值,是纯英文的字符集,插入中文需要改为UTF-8;
errorPage:(错误页)定义当当前页面出错时跳转的页面;
isErrorPage:(是否是错误)定义当前页面是否是一个错误提醒页面,需要将值改为true;该属性写在页面出错时需要跳转到的页面上。
2.include指令
该指令可以在一个JSP页面中包含另一个JSP页面,该指令是静态包含,不做任何处理,两个文件中不能有相同名称的变量;
该指令只有一个file属性,用于指定要包含文件的路径,可以是相对,也可以是绝对。
格式:<%@ include file="..."%>
3.taglib指令
该指令用于标识声明该页面中所使用的标签库,同时引用标签库,并指定标签的前缀。这样就可以通过前缀来引用标签库中的标签。
格式:<%@taglib prefix="" uri="" %>
属性:
prefix:用于指定标签的前缀。该前缀不能命名为jsp、jspx、java、javax、sun、servlet和sunw。
uri:用于指定标签库文件的存放位置。
三.JSP常用脚本标识
1.表达式:
格式:<%= 表达式%>
可以是任何Java语言的完整表达式,最终运算结果将被转换为字符串。
JSP表达式不仅可以插入到网页文本中,也可以插入到HTML标记中,用于动态设置属性值。
2.声明标识:
<%! 声明变量或方法的代码 %>
3.代码片段:
格式:<% JAVA代码或脚本代码%>
代码片段与声明标识的区别是声明标识的生命周期是从创建开始到服务器关闭;而代码片段的生命周期是页面关闭就会被销毁;
四.JSP注释
HTML中的注释:
1.<!--注释内容-->:源代码中可见;
2.<%--注释内容-->:源代码中不可见,安全性更高;
脚本中的注释:
1.//:行注释;
2./* 注释内容*/:多行注释;
3./** 注释内容*/:文档注释;
五.动作标识
1.<jsp:include>包含文件标识
用于像当前页面中包含其他文件,被包含文件可以是动态文件,也可以是静态文件;
语法格式:<jsp:include page="url" flush="false|true"/>
参数说明:page:被包含文件的相对路径;flush:在当前页面输出使用了缓冲区的情况下,是否先刷新缓冲区,再执行包含工作;
2.<jsp: forward >请求转发标识
通过该动作标识可以将请求转发到其他的WEB资源,如JSP页面、HTML页面、Servlet等;请求转发后,当前页面不在被执行,而是去执行指定目标页面。
语法格式:<jsp:forward page="url/" />
3.<jsp:param>传递参数标识
用于为其他标识传递参数
语法格式:<jsp:param name= "参数名" value = "参数值"/>
参数说明:name:参数名称;value:参数值
该标识一般作为其他标识的子标识,如作为请求转发标识的子标识时:
<jsp:forward page="test.jsp">
<jsp:param name="id" value="5"/>
</jsp:forward>
该代码实现了向test.jsp页面请求转发的同时,传递了参数id,其参数值为5。该代码功能也可写为:
<jsp:forward page="test.jsp?id = 5">
六.<%@ include %>指令与<jsp:include />标识的区别
1.include指令只能包含文件而include标识可以支持JSP表达式;
2.include指令是将被包含文件原封不动的插入到包含页中,然后再编译成一个JAVA文件,所以不能有重复的变量和方法;
include标识是将请求转发到被包含页面,执行结束后再返回包含页继续执行后面的代码,服务器执行的是多个文件,每个文件单独编译,所以变量和方法可以重复;