Servlet的缺点:
Servlet生成页面非常的麻烦,而且不能做到所见即所得的开发
解决方案: jsp---页面技术
什么是Java Server Pages?
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
究其本质JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、
XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
------------------------------------------------------------------------------------------------
hello jsp?
定义一个html页面,将其后缀修改为.jsp
运行时需要将页面部署到tomcat上执行
jsp和Servlet的关系
凡是jsp可以实现的功能Servlet都是实现,凡是Servlet能实现的功能jsp也基本可以实现
jsp是包含java代码的html网页,擅长数据的显示
Servlet是包含html标签的Java代码,擅长控制
JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句
jsp的运行特征:
jsp是不能直接运行的,部署的时候是源码部署的.src中的类是编译成字节码文件后进行部署,位于/WEB-INF/classes文件夹下
jsp首先需要通过jsp引擎将其转换为servlet类[abc.jsp-->abc_jsp.java],然后通过Servlet引擎将其转换为字节码文件[abc_jsp.java-->abc_jsp.class]
最后执行字节码文件生成html代码响应
jsp的3生命周期:
_jspInit() _jspService _jspDestroy()
常驻内存 LRU调度原则
jsp和其它技术相比是最差的内存性价比
JSP语法基础:
<% 合法的Java代码段; %>
<%=表达式 %>这里只是一个表达式,意思在这个位置输出java表达式的计算结果,结尾没有分号
<%! 声明的代码段; 定义属性、方法等成员 %>
注释 20%的代码量是注释这是合理的,不写注释是错误的
<!-- --> html注释,注意如果这里包含代码,代码会编译执行,只是不显示
jsp中有3大页面指令:
<%@ page %>用于定义页面的全局属性
language="java"设置当前页面所使用的脚本语言
pageEncoding和contentType
pageEncoding="GBK"设置当前页面的编码字符集
contentType="text/html;charset=GBK"设置响应内容MIME类型和所使用的编码字符集
这两个属性可以只定义其中一个,可以相互替代