目录
一、JSP
JSP(全称JavaServer Pages)是由sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
二、在IDEA中编写JSP页面
(1)java代码都写在jsp页面,jsp就是个容器,用来书写java代码和HTML代码都可以
(2)在web项目下面创建jsp文件就可以了,注意,创建页面的层级关系,jsp页面和WEB-INF是平级
(3)JSP是java服务器端页面
三、JSP表达式:<%= %>
(1)jsp表达式就是用来计算java表达式的值的;
(2)java表达式由数据和运算符组成的式子,就是java表达式
(3)jsp表达式得到的结果转换成字符串,并在jsp页面中表达式的位置进行显示
(4)jsp表达式的语法结构:
<%=Java表达式%>
(5)jsp表达式注意事项:
<%=和%>是一个完整的符号,中间不能有空格
表达式必须能求出值
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JSP表达式</title>
</head>
<body>
<%=
new java.util.Date()
%>
</body>
</html>
四、 Scriptlet:<% %>
Scriptlet是包含在<% %>之间的Java代码,在Web容器处理JSP页面时执行,通常会产生输出,并将输出发送到客户的输出流里。
Scriptlet的作用:在jsp页面中嵌入Java程序,在程序中可以是变量的声明,方法的调用等java内容
五、JSP中的声明:<%! %>
在我们的jsp页面中声明java方法或者java变量:<%!Java代码%>(在上面的<% %>中写也行,但是有区别的)。在<% %>中定义的变量只能在声明的<% %>中使用(相当于局部变量)
注意:
(1)<%=和%>是一个完整的符号,中间不能有空格
(2)声明的语法和在JAVA语言中声明变量和方法是一样的
(3)在页面中声明的变量和方法,在整个页面中都有效(可以理解为全局变量)
六、 jsp声明变量与scriptlet变量的区别
--->JSP声明的变量是全局变量,会被多线程共享
--->Scriptlet声明的变量是局部变量,只会在当前页面中有效,不会被多线程共享
七、JSP指令
jsp文件最终是要转成.class文件的,在转换过程中需要设置整个jsp页面相关的属性
JSP指令: 在编译期间的命令,用来设置整个jsp页面相关的属性,不会直接产生任何可见的输出。
可以通过page指令设置jsp的脚本语言,设置jsp编码格式,在jsp中引入其他的java类或者包;
可以通过include(包含)指令引入其他的java代码等;
jsp的指令主要有三种:page指令,include指令,taglib指令。
1、 JSP指令语法结构
写法一:
<%@ 指令名称(page/include/taglib) 属性1="属性值" 属性2="属性值" ... 属性n="属性值" %>
写法二:
<%@ 指令名称 属性1="属性值" %>
<%@ 指令名称 属性2="属性值" %>
...
<%@ 指令名称 属性n="属性值" %>
2、page指令
page指令可放在页面的任何位置,一般放在最前面,除了import属性,其他的属性只能出现一次,因为import可以多次导包。
page指令的属性可以定义文件类型,定义需要导入的包,定义错误页面的指定,定义页面编码,定义脚本语言。
注意事项:
(1)page指令:页面指令,用来定义整个jsp页面的一些属性和这些属性的值;
(2)page指令的属性可以定义文件类型,定义需要导入的包,定义错误页面的指定,定义页面编码,定义脚本语言;
(3)page指令中除了import属性可以多次出现,其他的属性都只能出现一次;
(4)page指令的每一个属性完成的功能不同,指令属性对大小写敏感
3、include指令
在jsp页面静态插入一个文件,被插入的文件可以是jsp页面,HTML页面、文本文件或者一段java代码
include指令语法结构:
<% @include="文件名" %>
include执行不能传递参数
八、out.println()输出语句和JSP注释
out.println():输出数据的字符串信息后换行
println的换行在网页中几乎是没有效果的,因为这种回车换行,在浏览器中通常不会解析这种换行效果,所有在浏览器页面换行,还需要使用<br />标签。
JSP中的注释:<%-- --%>
快捷键:Ctrl+/
九、 手动关闭端口
在我们运行多个程序时,有时会出现端口被占用的情况,除了在集成开发环境中关闭程序运行外,还可以通过dos命令和任务管理器关闭端口
1、打开dos命令窗口
将dos命令窗口右击,以管理员身份运行
2、运行netstat -ano命令
找到你要关闭的端口,找到它的进程编号是多少(我们以8080端口号为例,可以看到进程编号为12212)
3、在dos窗口运行tasklist命令
找到12212的进程,看一下是哪个程序在运行
4、打开任务管理器(CTRL+ALT+.)
在进程中找到所有java.exe把它关掉