第2章JSP常用开发环境介绍
- 格式:ppt
- 大小:4.01 MB
- 文档页数:133
第1章JSP技术简介JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。
它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。
在国内,JSP 现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。
本章就对JSP及其相关技术进行简单的介绍。
1.1 认识HTTP协议HTTP协议(Hypertext Transfer Protocol,超文本传送协议)是WWW服务器使用的主要协议,对HTTP协议细节的基本理解是编写JSP或Java小程序的开发人员所必需的。
因此在学习JSP技术之前有必要更加仔细地研究一下HTTP消息的格式(这里的讨论源自HTTP/1.1协议规范。
参见规范2616,网址为/rfc/rfc2616.txt)。
HTTP 协议的关键部分有HTTP请求和HTTP响应,以及客户端Web程序设计的一些基础知识,在第4章4.4节将会具体介绍。
1.2 客户端Web程序设计介绍Web浏览器现已成为深受大多数用户喜爱的用户界面。
HTML语言提供了丰富的控件,第三方厂商提供了Visual Basic编写的数百个额外的控件,这些都使得Web浏览器独具特色。
虽然Web浏览器与传统的GUI界面有一定的差距,但它提供了一种独立而又简单的方法来访问分布式资源,尤其是Internet资源。
而且越来越多的客户端Web程序扩展技术变得更加成熟,出现了包括CSS、JavaScript、VBScript、动态HTML、Java1.1.Applet应用程序等技术在内的客户端Web程序设计技术,它们的相互结合使得Web程序更加迷人。
下面简单介绍几种常用的客户端Web程序设计技术的特点。
本书假定读者对这些技术都有一定的了解,不对这些技术作详细介绍。
1.2.1 CSSCSS(Cascading Style Sheets)称为层叠样式表,是动态HTML技术的一个部分,但可以和HTML结合使用。
介绍项目开发环境项目开发环境是指在进行软件或应用程序开发过程中所需的软硬件设备、软件工具和开发语言等。
一个良好的开发环境可以提高开发效率和质量,保证项目顺利进行。
开发环境需要一台计算机作为开发工作站。
这台计算机应具备足够的性能和存储空间,以满足开发过程中的需求。
此外,还需要安装一个稳定的操作系统,如Windows、Mac OS或Linux。
操作系统作为开发环境的基础,可以提供各种开发工具和软件的运行环境。
开发环境需要安装相应的开发工具。
不同的项目开发可能需要使用不同的开发工具。
例如,Web开发中常用的开发工具有文本编辑器、集成开发环境(IDE)和调试器等。
文本编辑器可以用于编写代码,IDE则提供了更多的开发功能,如代码自动补全、调试和版本控制等。
调试器可以帮助开发人员找到和修复代码中的错误。
开发环境还需要安装相应的开发语言和框架。
根据项目需求,可以选择不同的开发语言和框架来进行开发。
常见的开发语言有Java、Python、C++等,而常见的框架有Spring、Django、React等。
开发人员需要熟悉所选语言和框架的语法和特性,以便高效地开发项目。
除了硬件设备和软件工具,项目开发环境还需要合适的版本控制系统。
版本控制系统可以追踪代码的变更并进行版本管理,有助于团队协作和代码的维护。
常见的版本控制系统有Git和SVN等。
一个良好的开发环境还应该有适当的沟通和协作工具。
团队成员之间需要进行有效的沟通和协作,以便共同推进项目的进展。
常用的沟通和协作工具有即时通讯工具、项目管理工具和协同编辑工具等。
一个良好的项目开发环境应包括计算机设备、操作系统、开发工具、开发语言和框架、版本控制系统以及沟通和协作工具等。
这些组成部分相互配合,可以提高开发效率和质量,保证项目的顺利进行。
实验一JSP开发环境配置
本实验,目的是熟悉JDK、Tomcat、MyEclipse的安装与配置,为后续的实验作好准备工作。
【主要内容】
1.JDK的安装与配置;
2.Tomcat的安装与配置、修改端口号、启动与停止、测试;
3.MyEclipse的安装与配置
【实验目的】
熟悉JSP环境搭建特别是环境变量的配置以及如何配置好Tomcat服务器;
学会建立第一个JSP页面,其中要注意JDK的配置,实现简单输出。
【操作步骤】
(1)在Tomcat 6.0\conf中找到server.xml文件
(2)修改端口号8080为8081
(3)启动Tomcat服务器(如果已经启动,必须关闭Tomcat服务器,并重新启动)。
(4)用文本编辑器编写一个JSP页面diyi.jsp,并保存到webapps\ROOT目录中。
(5)用浏览器访问webapps\ROOT目中的JSP页面diyi.jsp。
【实验效果】
根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/diyi.jsp。
《Web程序设计与框架技术》课程标准1、课程信息2、课程性质随着计算机硬件技术以及Internet的发展,Web技术被广泛的应用在Internet上。
伴随着网络时代的到来,人们对网络的依赖越来越多,人们需要从网络上获取越来越多的信息资源,Web技术作为信息传递的一门技术受到越来越多人的青睐。
2000年以后,随着Web应用程序复杂性不断提高,人们逐渐意识到,单纯依靠某种技术多半无法达到快速开发、快速验证和快速部署的效果。
必须整合Web开发技术形成完整的开发框架或应用模型,来满足各种复杂的应用需求。
出现了几种主要的技术整合方式:MVC的设计模型;门户服务和Web内容管理。
Struts、Spring等都是开源世界里与MVC开发框架、门户服务和Web内容管理相关的优秀解决方案。
动态网页技术是运行在服务器端的Web应用程序,程序根据用户的请求在服务器端进行动态处理后,把处理的结果以HTML文件格式返回给客户端。
当前主流的三大动态Web 开发技术是:JSP、ASP/、PHP。
2.1课程在专业中的地位《Web程序设计与框架技术》课程主要讲解JSP、Servlet、JavaBean、Struts、Spring 和Hibernate等技术。
该课程是在软件Web项目开发中最核心的课程也是整个软件技术(Java方向)最重要的一门课程,web 项目开发的基础和关键技术。
Web程序设计JSP是基于B/S模式开发的基础性核心课程,它已成为信息技术中的一个不可缺少的内容和发展基石。
随着互联网的发展,过去的静态网页已发展到现在的动态交互式网页,网站建设技术上升到一个新的层次。
现在设计制作静态网页已是件相对比较容易工作,而能设计制作具有交互式网站的人则相对比较缺乏。
许多人也对这方面的技术抱以浓厚的兴趣。
目前全国均在大力发展电子政务和电子商务,迫切需要掌握这方面建站技术的专业人才。
为了适应信息技术的发展和社会需求,近年来,我国高校的计算机专业以及相关专业的教学计划都做了调整和改革,开设了Web程序设计方面的课程。
软件开发环境与工具的高级介绍与使用教程第一章:软件开发环境的概念及重要性软件开发环境是指用于开发软件的各种工具、平台和框架的集合。
在软件开发过程中,选择适合的开发环境对于提高开发效率和质量至关重要。
一个好的开发环境能够帮助开发人员更好地组织代码、进行调试和测试,并提供各种功能和扩展性。
1.1 开发环境的组成一个典型的软件开发环境包括以下组成部分:集成开发环境(IDE)、代码编辑器、编译器、调试器、版本控制系统、构建工具等。
这些工具相互之间协同工作,提供强大的开发支持。
1.2 开发环境的重要性一个好的开发环境能够提高软件开发的效率和质量。
它可以帮助开发人员提供更快速、更准确的开发过程,并且提供了一系列强大的工具和功能。
同时,它还可以提供良好的调试和测试环境,有助于发现和解决软件中的各种问题。
第二章:常用的集成开发环境介绍与使用教程2.1 EclipseEclipse是一个非常流行的Java开发环境。
它提供了丰富的插件和工具,可以支持多种语言和平台的开发。
在Eclipse中,我们可以创建、编辑、编译和调试Java程序。
使用Eclipse可以大大提高Java开发的效率和质量。
2.2 Visual StudioVisual Studio是微软开发的集成开发环境,主要用于开发.NET 程序。
它提供了丰富的工具和功能,使开发人员能够更轻松地创建、编辑、调试和部署.NET应用程序。
Visual Studio还支持多种编程语言,如C#、等。
第三章:代码编辑器的高级介绍与使用教程3.1 Sublime TextSublime Text是一款轻量级但功能强大的代码编辑器。
它提供了丰富的插件和主题,支持多种编程语言和文件类型。
Sublime Text具有快速、稳定、可定制等特点,可以满足开发人员对代码编辑的各种需求。
3.2 Visual Studio CodeVisual Studio Code是微软推出的一款免费开源的代码编辑器。
Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是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,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。