jsp的基本认识与理解

简介:

JSP全称是JavaServer Pages,它和servlet技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP这门技术的最大的特点在于,写jsp就像在写html,但:

它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。不管是JSP还是Servlet,虽然都可以用于开发动态web资源。但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。

程序的数据通常要美化后再输出:如果让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。

让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。

因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

Jsp的运行原理:

目标:

  • Web服务器是如何调用并执行一个jsp页面的?
  • Jsp页面中的html排版标签是如何被发送到客户端的?
  • Jsp页面中的java代码服务器是如何执行的?
  • Web服务器在调用jsp时,会给jsp提供一些什么java对象?

思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?

其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个java文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:

以下是MyJsp.jsp页面的内容:

[html] view plain copy
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
      
    <title>My JSP 'MyJsp.jsp' starting page</title>  
      
  </head>  
    
  <body>  
    This is my JSP page. <br>  
  </body>  
</html>

下面是翻译之后的源码:

[java] view plain copy
package org.apache.jsp;  
  
import javax.servlet.*;  
import javax.servlet.http.*;  
import javax.servlet.jsp.*;  
import java.util.*;  
  
public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase  
    implements org.apache.jasper.runtime.JspSourceDependent {  
  
  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();  
  
  private static java.util.List _jspx_dependants;  
  
  private javax.el.ExpressionFactory _el_expressionfactory;  
  private org.apache.AnnotationProcessor _jsp_annotationprocessor;  
  
  public Object getDependants() {  
    return _jspx_dependants;  
  }  
  
  public void _jspInit() {  
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();  
    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());  
  }  
  
  public void _jspDestroy() {  
  }  
  
  public void _jspService(HttpServletRequest request, HttpServletResponse response)  
        throws java.io.IOException, ServletException {  
  
    PageContext pageContext = null;  
    HttpSession session = null;  
    ServletContext application = null;  
    ServletConfig config = null;  
    JspWriter out = null;  
    Object page = this;  
    JspWriter _jspx_out = null;  
    PageContext _jspx_page_context = null;  
  
  
    try {  
      response.setContentType("text/html;charset=utf-8");  
      pageContext = _jspxFactory.getP
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、源码特点 JSP现代教育在线学习系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 (1)管理员权限具有以下功能: ①学生管理:对学生的基本信息进行添加、删除、修改和查看; ②教师管理:对教师的基本信息进行添加、删除、修改和查看 ③管理员管理:对管理员的基本信息进行添加、修改、删除; ④公告管理:对课程类别的基本信息进行添加、修改、删除、查看; ⑤短信管理:对学校课程的信息进行添加、修改、删除、查看; ⑥学习笔记管理:对学习笔记的信息进行添加、删除、修改和查看 (2)教师权限具有以下功能: ①短信管理:对短信的功能进行添加、删除、修改和查看; ②章节管理:对章节的信息进行添加、删除、修改和查看; ③资料管理:对资料的信息进行添加、删除、修改和查看; ④知识点管理:对知识点的信息进行添加、删除、修改和查看; ⑤学习笔记管理:对资料的信息进行添加、删除、修改和查看; (3)学生权限具有以下功能: ①可以查看公告信息; ②可以进行资料下载; ③可以查看章节信息; ④可以查看知识点信息; ⑤可以接发短信; 三、注意事项 1、管理员账号:admin密码:admin 数据库配置文件DBO.java 2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为mysql5.0,使用java语言开发。 3、数据库文件名是jspstudysystem.sql ,系统名称studysystem 4、地址:http://127.0.0.1:8080/studysystem/login.jsp
分为两部分 内容推荐 本书以Java为平台,结合应用实例,强调“实用”性,系统、全面地介绍了JSP语言的基础知识及应用方向。 书中内容由浅入深、循序渐进地介绍了JSP基本运用,其中包括网页布局与修饰、JDBC应用、Servlet应用、JSP运用、EL表达式运用、自定义标签运用、标准标签库运用等。在讲解的过程中,引用了大量的实例,且每一部分内容都包含详细的操作步骤和技巧提示。这一切将有助于初学者仿效和理解,并把握问题的关键,从而保证在短时间内能够迅速掌握JSP程序设计的知识,应用到实际的项目开发过程中。 书中理论知识讲解透彻,实例开发步骤清晰,既适合初学者和具有一定Java编程经验的用户使用,也适合广大软件开发者和编程爱好者作为参考用书,同时也是大中专院校及社会培训机构的首选教材。 本书以Java为平台,结合应用实例,强调“实用”性,系统、全面地介绍了JSP语言的基础知识及应用方向。<br> 书中内容由浅入深、循序渐进地介绍了JSP基本运用,其中包括网页布局与修饰、JDBC应用、Servlet应用、JSP运用、EL表达式运用、自定义标签运用、标准标签库运用等。在讲解的过程中,引用了大量的实例,且每一部分内容都包含详细的操作步骤和技巧提示。这一切将有助于初学者仿效和理解,并把握问题的关键,从而保证在短时间内能够迅速掌握JSP程序设计的知识,应用到实际的项目开发过程中。<br> 书中理论知识讲解透彻,实例开发步骤清晰,既适合初学者和具有一定Java编程经验的用户使用,也适合广大软件开发者和编程爱好者作为参考用书,同时也是大中专院校及社会培训机构的首选教材。 作者简介 张孝祥,北京传智播客教育科技有限公司教学总监。著有《Java就业培训教程》、《JavaScript网页开发》、《深入体验Java Web开发内幕—核心基础》、《深入体验Java Web开发内幕一高级 特性》、《JavamB件开发详解》等一系列Java畅销书籍,发布了中国第一套Java学习视频

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值