前言
本博客仅做学习笔记,如有侵权,联系后即刻更改
科普:
一、JSP基础
JSP应用于WEB服务器
1. 服务器
定义:
- 接收请求,做出响应的设备
分类:
- 文件服务器,数据库服务器,应用程序服务器,WEB服务器
服务器应用
- 操作系统:
windows、Linux、unix
Linux由于性能优越,价格便宜,安全性高等优点已经成为了服务器操作系统的首选- 服务器应用程序-WEB服务器
IIS,Kangle,nginx,Tomcat,apache,WebLogic
2. JSP相关定义
定义:
- 全名为Java Server Pages,中文名叫java服务器页面
- 与HTML静态网页相比,JSP是一个动态网页
动态网页就是能在运行的时候根据一些条件来修改网页的效果和数据,动态网页和用户是有交互的
JSP程序与CGI程序相比的优越性:
- 性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件;
- 服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本;
- JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等;
- JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。
JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。
这意味着JSP可以用最简单的方式来实现最复杂的应用。
3. JSP基本语法
- 脚本元素
定义:
- 嵌入到JSP页面中的Java代码,包括JSP注释、声明、表达式和脚本段
分类:
- 声明:<%! %>
语法格式:
<%! 声明;[ 声明;]….%> //声明的变量和方法都是全局属性- 表达式:<%= %>
- 定义:
JSP表达式是由变量、常量组成的算式
Web服务器会把Java表达式计算得到的结果转换成字符串,然后插入到页面中- 语法格式:
<%=表达式%>
- 脚本程序:<% %>
- 定义 :
当Web服务器收到浏览器端请求时,这段Java代码(程序)会被编译执行,执行结果重新嵌入HTML后一起发送到浏览器端- 语法格式:
<% Java代码; %>
- 指令元素
- 针对JSP引擎设计的,它控制JSP引擎如何处理代码
包括include指令,page指令和taglib指令
- 动作元素<jsp: 动作>
定义:
- 连接所要使用的组件,另外还可控制JSP引擎的动作。
主要有include动作和forward动作
二、JSP指令标记<%@ 指令%>
- include指令标记(静态导入)
文件加载指令,文件静态嵌入指令位置,合并成新的JSP文件,在转译成Java文件(所以是在翻译前加载)
- 语法规则:
<%@ include file=“path”%>- 适用场景:
登陆验证、导航条
优点:
减少代码冗余,提高页面管理和维护效率
- page指令标记
页面指令,定义JSP页面的全局属性和值
除import属性外,其他属性最多出现一次
- 语法规则:
<%@ page att1=“value1” att2=“value2”…%>属性:
- language:定义脚本语言
默认Java,也是目前唯一有效的设定值- import:导入需要的Java包和类
- errorPage:指定抛出异常调用的页面的URL
- contentType:指定页面输出内容的MIME类型和JSP文件的字符编码
字符编码默认text/html,字符集默认ISO-8859-1
三、动作标记<jsp: 动作>
- include动作标记
动态插入文件,运行时才跳转到该文件进行处理,再跳转回来继续执行后续的代码
- 语法规则:
<jsp: include page=“文件的URL” flush=true/false"/>
url:文件路径
flush:刷新当前页面的缓冲区<jsp:param name="参数名" value="参数值">
传参
用request.getParameter(参数名)获取传参
- forward动作
跳转页面,清空缓冲区,数据都不会发送客户端,也不再处理当前页面剩下的内容
在客户端显示的是原网页的地址
- 语法格式
<jsp:forward page=“跳转的页面URL”/>
不带参数,不换行
只有一个page属性,指定目标文件的URL
- plugin动作
在客户端浏览器插入Java插件
- useBean动作
可重复使用的软件组件,是用Java语言编写的类
该类的实例称为JavaBean,简称bean,通过封装属性和方法成为业务处理对象
- 语法规则:
id:bean实例名
class:bean完整类名0
scope:作用域
- page:当前页
- request:客户请求期间
- session:客户的会话期间
- application:整个生存期,所有用户共享一个bean
- setProperty动作
设置bean的属性值
- getProperty动作
获得beans的属性值
四、JSP中文乱码现象处理
- 指定page的contentType
contentType=“text/html; charset=GB2312”
- 输入文字采用ISO-8859-1编码
并把编码存入byte型数组中,再把数组转化为字符串对象
- 接收和响应请求前指定编码GB2312
request.setCharacterEncoding(“GB2312”);
reponse.setContentType(“text/html;charset=GB2312”)
- 修改Tomcat配置文件server.xml
URIEncoding=“GB2312”
总结
小小励志
有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》