什么是JSP?

学习了前端技术——HTML/CSS/JavaScript后,我们有能力构建一个漂亮的博客页面,它是静态的——如果需要添加新的内容,需要修改相应的前端文件代码。

掌握了编写Servlet程序后,我们有能力让网页“动”起来——根据不同的输入(URL参数、Session等)生成不同的页面内容。

那么如何将二者结合起来,让Java平台中的应用程序能够将漂亮的前端页面展示出来呢?答案很简单——在Servlet程序中生成页面的HTML代码。可是当我们打开博客页面的源代码,顿时心中犯了难,这几百行的HTML代码,混杂着各种各样的标签,Servlet中的doGet()方法里难道得把这个字符串(页面的HTML内容)给拼接起来?

由于Web中大量用到HTML作为展示语言,在Servlet中去拼接HTML代码显然不是一个好办法。Java EE里制定的JSP(JavaServer Pages)标准,就是帮助开发者基于HTML/XML来动态生成Web页面内容。

本质上来说,JSP是Servlet的一个更高层的抽象。Servlet容器会将JSP在运行时转化为Servlet程序,接下来的处理流程就和Servlet完全一样了。

第一个JSP:Hello World

Hello World JSP

Welcome to JSP tutorial

It is now.

可以看到JSP页面和HTML页面非常的类似,唯一不同的地方在于:。标记对中嵌入的是Java表达式,这也是体现JSP动态能力的地方——标记对的内容并非一成不变的,而是通过程序生成。

Servlet容器支持处理JSP页面,只需将JSP文件放入WebContent目录中即可。同时需要注意的是:JSP文件的扩展名必须是.jsp。

JSP基本语法

除了Hello World程序中使用Java表达式的语法标记对,JSP还能够支持任意执行任意多行Java代码,使用语法标记对

循环

Counting to three:

This number is .

OK.

这是在JSP中应用Java语言for循环的例子,这是一种非常常见的模式——我们如果想要动态化博客列表页面,那么就会用到循环来动态生成博客列表。

条件

Condition is true

调用Java类

当我们页面的逻辑比较复杂后,在HTML标签里嵌入大量Java代码同样也会影响可读性、可维护性。所以将一些业务逻辑封装到Java类中,在JSP中调用它们是一个好办法:

package me.ruici;

public class Utils {

public static String toUpperCase(String data) {

return data.toUpperCase();

}

}

在JSP中调用该类需要使用它的全名:

内置对象

作为一门在Web中产生的技术,JSP当然也要天然的和HTTP联系在一起,否则它就只能算是一个动态HTML生成工具。它内置的对象包括:request,封装了HTTP请求信息——Header, Form等

response,封装HTTP响应信息,可以修改响应内容

out,输出JSP页面最终的HTML内容

session,当前请求对应的用户session信息

application,整个web应用对象,可以在所有用户之间共享数据

在JSP中最常见的就是访问request对象了:

Hello World JSP

JSP Built-in Objects

User Agent:

User Language:

部署JSP

JSP文件本身不需要编译,而是在运行时被编译为Servlet。只需将它放置在WebContent目录下即可直接访问,例如对于WebContent/index.jsp,通过URL:http://localhost:8080/index.jsp可以访问该JSP文件。

中文支持

为了支持中文,我们推荐使用UTF-8编码保存jsp文件。同时需要在JSP文件头部加入:

以保证jsp文件被正确的使用UTF-8编码解析并产生内容、正确地在浏览器中显示。

jsp 知乎_JSP简介相关推荐

  1. jsp 知乎_JSP

    学习主题:JSP 学习目标: 1 掌握JSP注释 2掌握JSP引入 3 掌握JSP内置对象 4 掌握JSP四大作用域 5 掌握servlet和jsp中的路径问题 对应作业 1. jsp的注释 (1) ...

  2. 微软CRM与知客CRM简介及互补营销

    一.微软 CRM和知客CRM简介 1.Microsoft Dynamics CRM(微软CRM) 微软CRM是一个完全集成的客户关系管理系统.使用微软CRM,您可从第一次接触客户开始,在整个销售和售后 ...

  3. java jsp学习指南_JSP教程–最终指南

    java jsp学习指南 编者注: JavaServer Pages(JSP)技术使您可以轻松创建同时包含静态和动态组件的Web内容. JSP技术提供了Java Servlet技术的所有动态功能,但提 ...

  4. java怎么将图片文件转流并在jsp前端显示_jsp已经被淘汰了吗?

    以前的项目大多数都是java程序猿又当爹又当妈,又搞前端(ajax/jquery/js/html/css等等),又搞后端(java/mysql/Oracle等等). 随着时代的发展,渐渐的许多大中小公 ...

  5. jsp 自动倒数_JSP中的倒数计时器

    JSP新手,想做一个用户注册的网页.我看网上有很多的步骤是必须先同意一个协议才可以注册,下面两个按钮一个同意一个不同意,同意的那个前5秒不可用,5秒倒数完毕可用我的问题是如何实现这... JSP新手, ...

  6. jsp+mysql管理系统_JSP+MySQL实验室设备信息管理系统

    [实例简介] 注意:不是骗人的不完整工程,CSDN上这种资源太黑心了. 内含所有MyEclipse工程源代码+数据库+课程设计报告书.默认管理员账号密码:admin.数据库是navicat导出的. 苏 ...

  7. mysql jdbc jsp学生管理系统_JSP+Servlet+JDBC+mysql实现的学生成绩管理系统

    项目简介 本系统基于JSP+Servlet+Mysql 一个基于JSP+Servlet+Jdbc的学生成绩管理系统.涉及技术少,易于理解,适合JavaWeb初学者学习使用. 难度等级:入门 技术栈 编 ...

  8. jsp java 登陆_jsp+java servlet实现简单用户登录

    jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...

  9. java获取jsp页面参数_jsp页面中获取servlet请求中的参数方法总结

    jsp页面中获取servlet请求中的参数的办法详解 在JAVA WEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/bbs ...

最新文章

  1. 自定义最大高度的ViewGroup
  2. udp重发机制_UDP 协议
  3. Android应用程序签名详解
  4. Pytorch实战1:线性回归(Linear Regresion)
  5. tomcat启动时窗口中出现中文乱码的解决办法
  6. 基于Linux和MiniGUI的嵌入式系统软件开发指南(四)
  7. Oracle中无法解析TNS的陷阱
  8. WordPress SEO 完全指南
  9. WPF备忘录(7)WPF图片资源路径介绍
  10. Google 宣布正式开源 Jib ,帮助 Java 应用快速容器化
  11. 软件工程导论(第5版)张海藩著 高清PDF版下载
  12. psp2000 M33 自制固件---恢复模式说明(基本所有版本都适用)
  13. oracle user_source表
  14. 【淘宝商家应用接口】拼多多平台流量解析,如何充分利用平台分配的流量?
  15. 电脑版微信多开显示网络代理服务器,电脑版微信多开的方法_电脑维护
  16. linux异常死机日志,Linux常见死机原因
  17. 【渝粤教育】国家开放大学2019年春季 1366英语教学理论与实践 参考试题
  18. JS复习笔记之造new轮子
  19. Geospatial-地理空间
  20. 【工业大数据】工业大数据:构建制造型企业新型能力

热门文章

  1. Cypress之处理页面弹框以及多tab页间切换
  2. flowable 查询流程发起人
  3. 如何提升口头表达能力?
  4. 十四届蓝桥杯青少组选拔赛Python_2023.02.12
  5. android 如何在user版本中获取root权限
  6. 世嘉新人培训教材_游戏开发
  7. 《 无人机辅助的NOMA通信系统优化设计》
  8. “内聚性”和“耦合性”
  9. 集中式网关VXLAN实验
  10. 我得了一些病,只有做运营才懂的病