前言
本章介绍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" />