重温 JSP 与 Servlet
Java Web使用SSH框架多了,很多基础的 JSP 与 Servlet 的东西都忘记了。最近在 JSP 标签 和 Struts2 包装的 Session 对象的混合使用时弄晕了,就翻书温习下。
JSP 和 Servlet 作为 Java Web 的 SSM/SSH框架的底层支撑技术,还是有必要熟练掌握的。
本文主要参考《Servlet 和 JSP 核心编程》第二版第一卷,基本是该书内容的缩减版。
书本P6:
Servlet可看作是含有 HTML 的Java程序,JSP可看作是含有 Java 代码的 HTML页面。
实际上二者(JSP和Servlet)是相同的。JSP文档只不过是编写 Servlet 的另一种方式。JSP 页面会被翻译成 Servlet,Servlet 会被编译,在请求期间运行的就是 Servlet。
P227
JSP脚本元素有3种形式:
1. 形如 <%= Java Expression %> ,他们在求职之后插入到 Servlet 的输出之中。
2. 形如 <% Java Code %> 的 scriptlet ,它们将插入到 servlet 的 _jspService 方法(由service方法调用)中。
(博主注:一般JSP报错的时候,可以看到这个 _jspService)
3. 形如 <%! Field/Method Declaration %> 的声明,它们将插入到 servlet 类的定义中,不属于任何已有的方法。
P303
用Servlet 生产 HTML十分冗长,并且难以修改。这就是引入 JSP 的原因。
...(博主注:但是用JSP就够了么,并不够)
如果需要依据接收到的数据给出完全不同的结果时,应该怎么做呢?虽然脚本表达式.....很强大,但并不能克服JSP页面只能定义相对固定的高层页面外观这一局限。。类似地,如果需要复杂的计算和推理才能确定当前需要的数据,该怎么办呢。JSP在处理商业逻辑上很薄弱。
于是,解决办法就是既使用 JSP ,又使用 Servlet。通过MVC模式,可以发挥各自所长。
=====文中讲了很多 Bean 对象,类似框架的实体类。
=====待写。书的 P306
本文参考《Servlet 和 JSP 核心编程》第二版第一卷。(网上可下载)
重温 JSP 与 Servlet的更多相关文章
- 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例
初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...
- JSP和Servlet的中文乱码处理
JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我 ...
- 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)
背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...
- jsp和servlet中文乱码
jsp和servlet之间出现中文乱码的集中原因和解决方法详解:http://blog.csdn.net/longyuhome/article/details/7856270
- Jsp与servlet本质上的区别
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长 ...
- Jsp与servlet的区别 1
Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...
- Jsp与servlet的区别
Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...
- 如何查看JSP和Servlet版本
我们在java web开发的过程中,有时在资料上可能会提到环境所要支持的JSP,Servlet版本.如果版本低就可能出现测试错误. 方法:打开tomcat的common/lib 目录下,有两个JAR文 ...
- JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?
JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 联系: JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达. JSP编译后是& ...
随机推荐
- thinkphp5控制器访问转换问题
假设定义了HelloWorld控制器 url访问地址就是:http://localhost/index.php/index/hello_world,与此同时view目录下的模板文件夹要命名为hello ...
- Polycarp's Pockets(思维)
Polycarp has nn coins, the value of the ii-th coin is aiai. Polycarp wants to distribute all the coi ...
- mybatis深入理解(一)之 # 与 $ 区别以及 sql 预编译
mybatis 中使用 sqlMap 进行 sql 查询时,经常需要动态传递参数,例如我们需要根据用户的姓名来筛选用户时,sql 如下: select * from user where name = ...
- js固定两位小数toFixed(2)
total=total.toFixed(3); 小数问题:可以number(),或者*1来改变变量类型.
- Spark Mllib里的卡方检验
不多说,直接上干货! import org.apache.spark.mllib.stat.Statistics 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mlli ...
- 【Linux】Linux查看程序端口占用情况
使用命令查询8880端口的占用信息: netstat -naop|grep 查询结果: 发现8880端口被PID为4518的进程占用 使用命令查询所有的进程和端口使用情况: netstat –apn ...
- 【Linux】让Ubuntu 支持 GBK等字符集,解决中文乱码
对GBK,GB2312,GB18030字符集的支持是UBUNTU中文乱码的罪魁祸首,其实我们可以在保持UTF-8为默认编码的条件下添加对这几个编码的支持,以解决中文乱码问题. 我想这个问题肯定有其他人 ...
- Emgu CV 初试
Emgu CV 是.NET平台下对OpenCV图像处理库的封装,也就是.NET版.可以运行在C#.VB.VC++等. 安装完成后需要设置环境变量,比如我安装在D:\Emgu\emgucv-window ...
- 关于Mdi窗口-父窗口上的控件把子窗口的挡住的问题
using System.Runtime.InteropServices; [DllImport("user32")] public static extern int SetPa ...
- ElasticSearch 处理自然语言流程
ES处理人类语言 ElasticSearch提供了很多的语言分析器,这些分析器承担以下四种角色: 文本拆分为单词 The quick brown foxes → [ The, quick, brown ...