【JSP学习笔记】1.JSP 教程、简介及开发环境搭建

news2025/1/24 22:49:31

前言

本章介绍JSP的教程、简介及开发环境搭建。

JSP 教程

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。

JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。

JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。

JSP文件后缀名为 *.jsp

JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

第一个 JSP 程序
语言学习入门的第一个程序一般都是输出 “Hello World”,JSP输出 “Hello World” 代码如下所示:

<html>
    <head>
           <title>第一个 JSP 程序</title>
    </head>
    <body>
           <%
                  out.println("Hello World!");
           %>
    </body>
</html>

JSP 简介

什么是Java Server Pages?
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

为什么使用JSP?
JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:

  • 性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。
  • 服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。
  • JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。
  • JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。这意味着JSP可以用最简单的方式来实现最复杂的应用。

JSP的优势
以下列出了使用JSP带来的其他好处:

  • 与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。
  • 与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
  • 与SSI相比:SSI无法使用表单数据、无法进行数据库链接。
  • 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
  • 与静态HTML相比:静态HTML不包含动态信息。

JSP 开发环境搭建

JSP 开发环境是您用来开发、测试和运行 JSP 程序的地方。

本节将会带您搭建 JSP 开发环境,具体包括以下几个步骤。

配置Java开发工具(JDK)
这一步涉及 Java JDK 的下载和 PATH 环境变量的配置。

您可以从 Oracle 公司的 Java 页面中下载 JDK:Java SE Downloads

Java JDK 下载完后,请按照给定的指示来安装和配置 JDK。最后,通过设置 PATH 和 JAVA_HOME环境变量来指明包括 java 和 javac 的文件夹路径,通常是 java_install_dir/bin和java_install_dir。

假如您用的是 Windows 系统并且 JDK 的安装目录为 C::\jdk1.5.0_20,那么您就需要在 C:\autoexec.bat 文件中添加以下两行:

set PATH=C:\jdk1.5.0_20\bin;%PATH%
set JAVA_HOME=C:\jdk1.5.0_20

或者,在 Windows NT/2000/XP下,您可以直接右击我的电脑图标,选择属性,然后高级,然后环境变量,接下来您就可以很方便地设置 PATH 变量并且确定退出就行了。

在 Linux/Unix 系统下,如果 JDK 的安装目录为 /usr/local/jdk1.5.0_20 并且使用的是 C shell,那么您就需要在 .cshrc 文件中添加以下两行:

setenv PATH /usr/local/jdk1.5.0_20/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.5.0_20

或者,假如您正在使用类似于 Borland JBuilder、Eclipse、IntelliJ IDEA 和 Sun ONE Studio 这样的集成开发环境,可以试着编译并运行一个简单的程序来确定 IDE(集成开发环境)是否已经知道 JDK 的安装目录。

本步骤你也可以参考本站Java 开发环境配置章节的教程。

设置Web服务器:Tomcat
目前,市场上有很多支持 JSP 和 Servlets 开发的 Web 服务器。他们中的一些可以免费下载和使用,Tomcat 就是其中之一。

Apache Tomcat 是一个开源软件,可作为独立的服务器来运行 JSP 和 Servlets,也可以集成在 Apache Web Server 中。以下是 Tomcat 的配置方法:

  • 下载最新版本的 Tomcat:http://tomcat.apache.org/。
  • 下载完安装文件后,将压缩文件解压到一个方便的地方,比如 Windows 下的 C:\apache-tomcat-5.5.29 目录或者Linux/Unix 下的 /usr/local/apache-tomcat-5.5.29 目录,然后创建 CATALINA_HOME环境变量指向这些目录。

在 Windows 机器下,Tomcat 可以通过执行以下命令来启动:

%CATALINA_HOME%\bin\startup.bat
或者
C:\apache-tomcat-5.5.29\bin\startup.bat

在 Linux/Unix 机器下,Tomcat 可以通过执行以下命令来启动:

$CATALINA_HOME/bin/startup.sh
或者
/usr/local/apache-tomcat-5.5.29/bin/startup.sh

成功启动 Tomcat 后,通过访问 http://localhost:8080/ 便可以使用 Tomcat 自带的一些 web 应用了。假如一切顺利的话,您应该能够看到以下的页面:

在这里插入图片描述

更多关于配置和运行 Tomcat 的信息可以在 Tomcat 提供的文档中找到,或者去 Tomcat 官网查阅:http://tomcat.apache.org。

在 Windows 机器下,Tomcat 可以通过执行以下命令来停止:

%CATALINA_HOME%\bin\shutdown.bat
或者
C:\apache-tomcat-5.5.29\bin\shutdown.bat

在 Linux/Unix 机器下,Tomcat 可以通过执行以下命令来停止:

$CATALINA_HOME/bin/shutdown.sh
或者
/usr/local/apache-tomcat-5.5.29/bin/shutdown.sh

设置 CLASSPATH 环境变量
由于 servlets 不是 Java SE 的一部分,所以您必须标示出 servlet 类的编译器。

假如您用的是 Windows 机器,您需要在 C:\autoexec.bat 文件中添加以下两行:

set CATALINA=C:\apache-tomcat-5.5.29
set CLASSPATH=%CATALINA%\common\lib\jsp-api.jar;%CLASSPATH%

或者,在 Windows NT/2000/XP 下,您只要右击我的电脑,选择属性,然后点击高级,然后点击环境变量,接下来便可以设置 CLASSPATH 变量并且确定退出即可。

在 Linux/Unix 机器下,假如您使用的是 C shell,那么您就需要在 .cshrc 文件中添加以下两行:

setenv CATALINA=/usr/local/apache-tomcat-5.5.29
setenv CLASSPATH $CATALINA/common/lib/jsp-api.jar:$CLASSPATH

注意:如果您的开发路径是 C:\JSPDev (Windows)或者 /usr/JSPDev (Linux/Unix),那么您就需要将这些路径添加进 CLASSPATH 变量中。
Tomcat环境变量Catalina_Home配置

1、CATALINA_HOME是TOMCAT安装路径的别名,目的是为了方便使用TOMCAT

2、计算机>属性>环境变量, 新建环境变量。变量名为CATALINA_HOME ,变量值tomcat的解压目录,我电脑上的为:“D:\apache-tomcat-7.0.12”,注意后面不用多加“\”或者“;”

3、在环境变量Path中,新增加“%CATALINA_HOME%\bin\ "

3、启动tomcat :进入命令行cmd,输入startup.bat

4、打开浏览器,输入:http://localhost:8080, (如果修改了端口号,加上相应端口)看tomcat是否正常启动

5、关闭tomcat:进入命令行cmd,输入shutdown.bat

tomcat 的 8080 端口经常会被占用,解决办法两个:

1、关闭占用8080端口的进程:8080端口被占用的话执行startup.bat会报错,可在cmd下执行netstat -ano命令查看8080是否被占用,如果被占用可根据相应的PID号在任务管理器查找并关闭相应进程,然后重启tomcat。此方法弊端是端口被占用就得重复上述操作。
2、更改tomcat端口:进入tomcat安装目录\conf\文件夹,以记事本打开service.xml,在如下所示位置指定新的端口号并重启tomcat。

<Connector port="8022" protocol="HTTP/1.1"
   connectionTimeout="20000" 
   redirectPort="8443" />

protocol 这个参数可以修改成 org.apache.coyote.http11.Http11NioProtocol , 可以提高 tomcat 的 并发能力,修改了这个配置需要重启 tomcat 才能生效。

<Connector port="8022" protocol="org.apache.coyote.http11.Http11NioProtocol"
    connectionTimeout="20000" 
    redirectPort="8443" />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022国赛30:windows脚本题解析

大赛试题内容: ( 九) ) 脚本 【任务描述】 为了减少重复性任务的工作量,节省人力和时间,请采用脚本,实现快速批量的操作。 1.在 windows4 上编写 C:\CreateFile.ps1 的 powershell 脚本,创建20 个文件 C:\test\File00.txt 至 C:\test\File19.txt,如果文件存在,则首先删除…

Servlet初始化参数设置\获取,全局初始化参数的设置、获取

之前在学习SpringMVC、SpringSecurity时&#xff0c;会用到Filter&#xff0c;需要对Filter进行参数配置&#xff0c;而Filter本质上也是一个Servlet&#xff0c;然后对Servlet设置初始化参数已经忘记了&#xff0c;所以打算重新回顾并整理Servlet这一部分的内容&#xff08;虽…

[Netty源码] 编码和解码相关问题 (十二)

文章目录1.编码和解码的介绍2.相关继承3.解码器分析3.1 ByteToMessageDecoder基类3.2 FixedLengthFrameDecoder3.3 LineBasedFrameDecoder3.4 DelimiterBasedFrameDecoder3.5 LengthFieldBasedFrameDecoder4.编码器分析4.1 解码过程分析4.2 writeAndFlush方法分析4.3 MessageTo…

2007-2020年国际产权指数InternationalPropertyRightsIndex(IPRI)IPRI

2007-2020年国际产权指数InternationalPropertyRightsIndex(IPRI)IPRI 1、来源&#xff1a;国际产权联合会 International Poverty Right Alliance 2、时间&#xff1a;2007-2020 3、范围&#xff1a;全球 4、指标说明&#xff1a; country、region、score、annual change…

提高软件测试效率的6大注意事项

1、测试策略非常重要 测试策略的基础是风险评估&#xff0c;我们需要通过失效概率和失效影响两个维度&#xff0c;对风险进行高、中、低的区分和可能性的判断。如CoCode开发云能够根据风险影响等级&#xff0c;自动计算出风险系数&#xff0c;并对风险进行优先级划分。而系数超…

项目管理:我们每个人都是管理者

项目管理的技能在生活中时时能用到、处处可锻炼。只要有心&#xff0c;项目成员一样可以学习和实践项目管理知识&#xff0c;也可以说&#xff0c;我们每个人都是管理者。 1、管理是职能而不是职位 有的人认为项目管理只是管理者应该学的&#xff0c;其实不是这样的&#xf…

卷积神经网络底层原理

1.卷积神经网络底层原理 声明&#xff1a;以下为《大话计算机》作者冬瓜哥课程视频截图&#xff0c;仅供学习 1.1卷积 一张图经过一种卷积核&#xff08;核函数&#xff09;滑动窗口进行卷积运算后得到一张特征图&#xff0c;这只是这种卷积核视角下看到的特征。所以我们需要多…

一起学 WebGL:图形变形以及矩阵变换

之前绘制了三角形&#xff0c;我们现在给它做一个变形操作。 对一个三角形进行变形&#xff0c;其实就是重新这个三角形的三个顶点的位置&#xff0c;计算完后再绘制出来&#xff0c;相比原来就发生了变形。 变形常见的有位移、选择、缩放。位移&#xff0c;其实就是给每个顶…

中国版ChatGPT即将来袭-国内版ChatGPT入口

必应chatGPT入口 目前并不存在“必应ChatGPT”这个概念。必应&#xff08;Bing&#xff09;是Microsoft公司推出的一款搜索引擎&#xff0c;而ChatGPT是OpenAI开发的自然语言处理技术&#xff0c;它们是两个不同的产品品牌。 不过&#xff0c;Microsoft也在自然语言处理领域里…

Microsoft 365管理和报告工具

在管理 Microsoft 365 设置的过程中&#xff0c;本机Microsoft 365 功能可能无法满足你的需求。M365 Manager Plus 具有复杂的功能&#xff0c;使 Microsoft 365 管理毫不费力。它提供基于功能的管理&#xff0c;因此你可以单独管理 Microsoft 365 组件。 使用 M365 Manager P…

进程的概念以及PCB的概念

在linux上进程是非常重要的知识点&#xff0c;今天我自我发表浅见。 可执行程序与进程 当在linux上编译完毕一个源文件生成可执行程序&#xff0c;这个时候这可执行程序只能称为普通文件&#xff0c;还不能定义为进程&#xff0c;在加载在内存中后才可称为进程&#xff0c;那…

次优二叉查找树(次优查找树)_递归和非递归实现_20230414

次优二叉查找树&#xff08;次优查找树)-递归和非递归实现 前言 当有序表中的各记录的查找概率相等的时候&#xff0c;采用折半查找效率可以提升查找性能&#xff1b;如果有序表中的各记录的查找概率不相等&#xff0c;那么折半查找就不再适用。 如果只考虑查找成功的情况&a…

Robocup 仿真2D 学习笔记(四)阵型编辑

一、阵型文件介绍 阵型文件里设置的是球员在比赛中的跑位点 基于helios base的阵型文件&#xff0c;在目录/src/formations-dt中 阵型的调用在/src/strategy.cpp 文件&#xff1a; before-kick-off.conf 是球员上场之后的阵型 &#xff08;或进球等待开球&#xff09; no…

有限元基础编程-何晓明老师课件-一维程序实现matlab

文章目录前言一、主程序二、一维有限元求解程序-框架三、组装刚度矩阵assemble_matrix_from_1D_integral.m2.1 算法2.2 get_standard_gauss_1D.m2.3 get_Gauss_local_1D.m前言 只是为方便学习&#xff0c;不做其他用途&#xff0c;课程理论学习来自b站视频有限元基础编程-何晓明…

RT-Thread线程管理以及内核裁剪

RT-Thread线程管理以及内核裁剪 1. RTOS概述 1.1 RTOS的定义 实时操作系统&#xff08;Real-time operating system, RTOS&#xff09;&#xff0c;又称即时操作系统&#xff0c;它会按照排序运行、管理系统资源&#xff0c;并为开发应用程序提供一致的基础。 实时操作系统与…

核心业务2:借款人申请借款额度

核心业务2&#xff1a;借款人申请借款额度 1.业务流程图 ------------截止提交个人信息部分-------- 2.借款人申请借款额度数据库设计 3.借款人申请额度流程 4.前端代码逻辑 5.后端代码逻辑 ------------截止提交个人信息部分-------- 核心业务2&#xff1a;借款人申请借…

Linux从命令行管理文件

目录 一、创建链接文件 二、目录操作命令 1. 创建目录&#xff08;make directory&#xff09; 2. 统计目录及文件的空间占用情况 3. 删除目录文件 三、创建、删除普通文件 文件命名规则&#xff1a; &#xff08;1&#xff09;不能使用/来当文件名&#xff0c;/是用来做…

【WCH】CH32F203软件I2C驱动SSD1306 OLED

【WCH】CH32F203软件I2C驱动SSD1306 OLED&#x1f4cc;相关篇《【WCH】CH32F203硬件I2C驱动SSD1306 OLED》&#x1f4fa;驱动显示效果&#xff1a; &#x1f33f;OLED屏幕&#xff1a;i2c ssd1306 oled&#x1f516;驱动单片机型号&#xff1a;CH32F203 ✨由于CH32F203主频为96…

wordpress下载插件,安装失败,无法创建目录问题

刚开始安装这个wordpress&#xff0c;在发表文章时候想要在其中加上图片&#xff0c;不想一个个手动上传媒体库&#xff0c;耽误时间&#xff0c;然后就去下了个imagepaste这个复制粘贴的插件&#xff0c;当我打开安装插件搜索到的时候准备安装&#xff0c;尼玛出现“安装失败&…

若一个单词被拆分成多少token, word_ids得到的序号是相同的?还是序号累加的?

目录 问题描述&#xff1a; 问题实现&#xff1a; 方法一&#xff1a; 方法二&#xff1a; 问题描述&#xff1a; 在使用tokenizer进行编码的时候&#xff0c;经常会存在word被拆分成多个token的情况&#xff0c;不同的参数设置&#xff0c;会得到不同的结果。总的来说&…