JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:
最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。这意味着JSP可以用最简单的方式来实现最复杂的应用。
以下列出了使用JSP带来的其他好处:
JSP开发环境是您用来开发、测试和运行JSP程序的地方。
本节将会带您搭建JSP开发环境,具体包括以下几个步骤。
这一步涉及Java SDK的下载和PATH环境变量的配置。
您可以从Oracle公司的Java页面中下载SDK:Java SE Downloads
Java SDK下载完后,请按照给定的指示来安装和配置SDK。最后,通过设置PATH和JAVA_HOME环境变量来指明包括java和javac的文件夹路径,通常是java_install_dir/bin和java_install_dir。
假如您用的是Windows系统并且SDK的安装目录为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系统下,如果SDK的安装目录为/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(集成开发环境)是否已经知道 SDK的安装目录。
本步骤你也可以参考本站Java开发环境配置章节的教程。
目前,市场上有很多支持JSP和Servlets开发的Web服务器。他们中的一些可以免费下载和使用,Tomcat就是其中之一。
Apache Tomcat是一个开源软件,可作为独立的服务器来运行JSP和Servlets,也可以集成在 Apache Web Server中。以下是Tomcat的配置方法:
在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 或者 C:\apache-tomcat-5.5.29\bin\shutdown
在Linux/Unix机器下,Tomcat可以通过执行以下命令来停止:
$CATALINA_HOME/bin/shutdown.sh 或者 /usr/local/apache-tomcat-5.5.29/bin/shutdown.sh
由于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变量中。
本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置 。
我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载一下软件包:
你可以根据你的系统下载对应的包(以下以Window系统为例):
下载之后,将压缩包解压到D盘(你可以自己选择):
注意目录名不能有中文和空格。目录介绍如下:
接着我们可以双击 startup.bat 启动 Tomcat,弹出如下界面:
这个时候,本地的服务器就已经搭建起来了。如果想关闭服务器,可以直接关闭上面的窗口,或者在里面输入Ctrl+C禁止服务。
接着我们在浏览器中输入 http://localhost:8080/,如果弹出如下界面,表示tomcat安装成功并且启动起来了:
我们现在在浏览器上测试一下它吧:
首先在D:\apache-tomcat-8.0.14\webapps\ROOT目录中新建一个jsp文件:
test.jsp 文件代码如下:
<%@ page contentType="text/html;charset=UTF-8" %> <% out.print("w3cschool教程 : http://www.w3cschool.cn"); %>
接着在浏览器中访问地址 http://localhost:8080/test.jsp, 输出结果如下:
Eclipse J2EE下载后,解压即可使用,我们打开Java EE ,选择菜单栏Windows-->preferences(Mac 系统为 Eclipse-->偏好设置),弹出如下界面:
上图中,点击"add"的添加按钮,弹出如下界面:
在选项中,我们选择对应的 Tomcat 版本,接着点击 "Next",选择 Tomcat 的安装目录,并选择我们安装的 Java 环境:
点击 "Finish",完成配置。
选择 "File-->New-->Dynamic Web Project",创建 TomcatTest 项目:
点开上图中的红框部分,弹出如下界面:
注意如果已默认选择了我们之前安装的 Tomcat 和 JDK 则可跳过此步。
然后,单击finish, 继续:
工程文件结构:
上图中各个目录解析:
在WebContent文件夹下新建一个test.jsp文件。在下图中可以看到它的默认代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Insert title here
接着我们修改下test.jsp文件代码如下所示:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>w3cschool教程 <% out.println("Hello World!"); %>
程序运行之前,我们先修改一下浏览器选项:
接着我们运行该项目:
运行时,弹出如下错误:(如果没有此错误,请忽略)
原因是,我们之前点击了Tomcat安装包中的startup.bat,这样一来就手动打开了Tomcat服务器,这明显是多余的,因为程序运行时,eclipse会自动开启Tomcat服务器。所以我们先手动关掉tomcat软件,再次运行程序,就行了。控制台信息如下:
浏览器访问 http://localhost:8080/TomcatTest/test.jsp, 即可输出正常结果:
我们也可以使用以上环境创建 Servlet 文件,选择 "File-->New-->Servlet":
位于 TomcatTest项目的 /TomcatTest/src 目录下创建 "HelloServlet" 类,包为 "com.youj.test":
HelloServlet.java 代码如下所示:
package com.youj.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HelloServlet */ @WebServlet("/HelloServlet") public class HelloServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public HelloServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 使用 GBK 设置中文正常显示 response.setCharacterEncoding("GBK"); response.getWriter().write("w3cschool教程:http://www.w3cschool.cn"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
接着重启 Tomcat,浏览器访问 http://localhost:8080/TomcatTest/HelloServlet: