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的更多相关文章

  1. 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例

    初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...

  2. JSP和Servlet的中文乱码处理

    JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我 ...

  3. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

  4. jsp和servlet中文乱码

    jsp和servlet之间出现中文乱码的集中原因和解决方法详解:http://blog.csdn.net/longyuhome/article/details/7856270

  5. Jsp与servlet本质上的区别

    1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长 ...

  6. Jsp与servlet的区别 1

     Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...

  7. Jsp与servlet的区别

     Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...

  8. 如何查看JSP和Servlet版本

    我们在java web开发的过程中,有时在资料上可能会提到环境所要支持的JSP,Servlet版本.如果版本低就可能出现测试错误. 方法:打开tomcat的common/lib 目录下,有两个JAR文 ...

  9. JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?

    JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 联系: JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达. JSP编译后是& ...

随机推荐

  1. POJ3274-Gold Balanced Lineup

    题目链接:点击打开链接 Gold Balanced Lineup Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16978 ...

  2. À peu près là 技术支持

    À peu près là 技术支持   技术支持网址:有问题或建议请留言. 邮箱地址: metlersaiddqr@zoho.com Program design & system cons ...

  3. 找出list中的不同元素、删除两个list中相同的对象

    package com.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; ...

  4. POJ1040 Transportation

    题目来源:http://poj.org/problem?id=1040 题目大意: 某运输公司要做一个测试.从A城市到B城市的一条运输线路中有若干个站,将所有站包括A和B在内按顺序编号为0到m.该路线 ...

  5. element input搜索框探索

    转(https://blog.csdn.net/qq_37746973/article/details/78402812) 在script中添加下面两个函数 //queryString 为在框中输入的 ...

  6. 简单的dp(dp专题)

    题目链接:https://vjudge.net/contest/216347#problem/C   Alice gets two sequences A and B. A easy problem ...

  7. CentOS Linux解决Device eth0 does not seem to be present【转】

    在VMware里克隆出来的CentOS Linux,ifconfig...没有看到eth0,然后重启网卡又报下面错误. 故障现象: service network restartShutting do ...

  8. MapReduce实战:邮箱统计及多输出格式实现

    紧接着上一篇博文我们学习了MapReduce得到输出格式之后,在这篇博文里,我们将通过一个实战小项目来熟悉一下MultipleOutputs(多输出)格式的用法. 项目需求: 假如这里有一份邮箱数据文 ...

  9. 织梦通过 phpmyadmin 导出的数据,再次导入的时候报错

    错误提示: #1291 – Column 'nature' has duplicated value '婆婆妈妈' in SET SQL 查询: -- -- 导出表中的数据 `dede_member_ ...

  10. SpringBoot | 第四章:日志配置(转)

    前言 介于平时工作中,对于日志这块没有过多的接触,也就未有过多的了解.故在编写本文时,上官网查看了相关资料,奈何每个字母我都认识,但合起来就有点晕了,英文阅读水平还是有待大大的提高呀.最后觉得还是转载 ...