My JSP的基础示例

开发 后端
本文介绍MyJSP的基础示例,以及建立新的Web服务器目录,设置端口号,开发JSP和开发Servlet等。

安装和测试Tomcat
安装Tomcat后,就可以得到下列目录结构:
Jakarta-tomcat-
bin                    可执行文件
common            内部类和web程序共享的类
    classes          共享的Java类
    endorsed      已注释的Java类
    lib                共享Jar文件
conf                  配置文件
logs                  服务器的记录文件
server               Tomcat内部的类
shared               共享的文件
temp                 临时的文件
webapps            web程序的目录
work                 临时文件的临时目录

对web开发人员而言,最中要的目录是webapps,浏览器要读取的文件都存放在这里。我们首要的目标是让Tomcat能运作,在运行Tomcat之前,必须先设定环境变量:
JAVA_HOME——设为java的安装目录,也就是java bin目录的上层目录。
CATALINA_HOME——设为Tomcat的安装目录,也就是Tomcat bin目录的上层目录。

运行Tomcat。现在,Tomcat在运行了,打开浏览器,连接到http://localhost:8080,应该会打开Tomcat的欢迎页面。这个URL里头的“localhost”就是指本地的网页服务器(对应到IP地址127.0.0.1),而8080是端口号,网页服务器通常是用80端口,但是Tomcat为类避免和其他服务器冲突,于是改用8080。

建立新的Web服务器目录:

可以将Tomcat服务器所在计算机的某个目录设置为一个Web服务目录,并为该Web服务目录指定虚拟目录,即隐藏Web服务目录的实际位置,用户只能通过虚拟目录访问Web服务目录中的Jsp页面。通过修改Tomcat服务器安装目录下conf目录中的server.xml文件来设置新的Web服务器目录。假设要将D:\MyJsp\star和C:\sun作为Web服务目录,并让用户分别使用hello和moon虚拟目录访问web服务目录D:\MyJsp\star和C:\sun下的Jsp页面,应先应用记事本打开文件夹Tomcat\conf中的主配置文件server.xml,找到出现</HOST>的部分(server.xml文件尾部),然后在</HOST>的前面加入如下内容:
<Context path = “/hello” docbase = “D:\MyJsp\star” debug = “0” reloadable = “true”/>
<Context path = “/moon” docbase = “C:\sun” debug = “0” reloadable = “true”/>
注:xm文件区分大小写的。

主配置文件server.xml修改后,必须重新启动Tomcat服务器。这样,用户就可以将JSP页面存放到目录D:\MyJsp\star或C:\sun中,可以通过虚拟目录hello或moon访问JSP页面,如将A.jsp放在目录D:\MyJsp\star或C:\sun中,应在浏览器地址栏中输入http://127.0.0.1:8080/hello/A.jsp或http://127.0.0.1:8080/moon/A.jsp。

设置端口号:
8080是Tomcat服务器的默认端口号。我们可以通过修改Tomcat服务器的conf目录下的主配置文件server.xml来更改端口号。用记事本代开server.xml文件找到如下部分:
<Connector port = “8080” maxHttpHeaderSize = “8192” maxThreads = “150” minSpareThreads = “25” maxSpareThreads = “75” enableLookups = “false” redirectPort = “8443” acceptCount = “100” connectionTimeout = “20000” disableUploadTimeout = “true”>

将其中的port=”8080”更改为新的端口号既可,如改为”9080”等。如果Tomcat服务器所在的计算机没有启动其他占有端口80的网络程序,也可以将Tomcat服务器端口号设置为80,这样用户在访问JSP页面时可以省略端口号,”http://127.0.0.1/first.jsp”。(这样写是因为我们是把firt.jsp非那根在ROOT根目录中,所以没有顶级目录,直接就是页面文件)

开发JSP:

以eclipse来编写不需要编译的JSP文件按,是最简单的。这些文件可以把java程序包在“小脚本元素”(Scriptlet element)、“声明元素”(declaration element)以及“表达式元素”(expression element)。最常用的是小脚本元素,可以把好几行的java程序包起来。小脚本元素的开头和结尾是“<%”和“%>”这两种标记符号,例如下例。你可以用out对象的println()方法把文字送回给浏览器。示例代码myJsp.jsp:

  1. <html> 
  2. <head> 
  3. <title>A Web Page</title> 
  4. </head> 
  5. <body> 
  6. <h1>Working With JSP</h1> 
  7. <%out.println("Using JSP");%> 
  8. </body> 
  9. </html> 

要怎么安装myJsp.jsp,Tomcat才能将之提供给客户端的浏览器?示例:我们在Tomcat的webapps目录下另建一个名为myJspc的子目录,而这个新的myJspc目录也必须有一个名为WEB-INF的子目录,其中再含classes和lib这两个子目录:
Webapps
myJspc            存放范例的文件夹
   WEB-INF    有关web应用程序的信息
        classes     web应用程序是用的java类
        lib            web应用程序是用的jar文件

此时,WEB-INF、classes、lib目录都是空的,但是一定要存在,不然Tomcat不会把myJspc目录视为存储网页文件的有效目录。创建这些目录之后,将myJsp.jsp存放到myJspc目录下。然后,如果Tomcat正在运行,先关掉,在重新启动。

要察看Jsp文件,可以让浏览器连接到http://localhost:8080/myJspc/myJsp.jsp。Tomcat会把Jsp的java程序代码转译成Servlet的形式,编译后,再运行它,然后,你就能看到网页展示的结果。

开发Servlet:

Jsp服务器实际上是建立在Java Servlet的基础上,运行前先转译成Servlet。Servlet是纯粹的java程序,下面是一个Servlet的范例myServlet.java:

  1. package org.eclipsebook.ch09;  
  2. import java.io.*;  
  3. import javax.servlet.*;  
  4. import javax.servlet.http.*;  
  5. public class myServlet extends HttpServlet{  
  6.          private static final long serialVersionUID = 1L;  
  7.          public void doGet(HttpServletRequest request,  
  8.                             HttpServletResponse response)  
  9.          throws IOException, ServletException  
  10.          {  
  11.                    response.setContentType("text/html");  
  12.                    PrintWriter out = response.getWriter();  
  13.                    out.println("<HTML>");  
  14.                    out.println("<HEAD>");  
  15.                    out.println("<TITLE>");  
  16.                    out.println("A Servlet Example");  
  17.                    out.println("</TITLE>");  
  18.                    out.println("</HEAD>");  
  19.                    out.println("<BODY>");  
  20.                    out.println("<H1>");  
  21.                    out.println("Working With Servlets");  
  22.                    out.println("</H1>");  
  23.                    out.println("Using servlets");  
  24.                    out.println("</BODY>");  
  25.                    out.println("</HTML>");  
  26.          }  
  27.          public static class test{  
  28.                    public static void main(String[] args){  
  29.                      System.out.println("inner class test.");  
  30.                    }  
  31.          }  

像以上的Servlet都需要基于javax.servlet.http.HttpServlet类,而且只是改写doGet()方法。这个doGet()方法会 一个请求对象(request object),其中的数据包括了浏览器的种类及来自任何HTML控件的数据。另外还有一个响应对象(response object),可以让你把想响应的结果返回给客户端浏览器。在此例中,我们要以response对象的getWriter()方法来取得printWriter对象,以之来响应浏览器,而且以PrinterWriter对象的println()方法把HTML送回给浏览器。接下来的步骤是:首先,创建一个myServlet项目,再把上列程序输入该项目中,保存成myServlet.java,包名是org.eclipsebook.servlet。为类满足import语句所导入的内容,我们要把Tomcat随附的servlet.jar加入到编译路径中。你可以在jakarta-tomcat\common\lib\servlet.jar找到servlet.jar。将其加进编译路径中。
Webapps
myServlet
   WEB-INF
           classes
               org
                   eclipsebook
                         servlet   Servlet        程序所在的目录
           lib

为了让Tomcat知道这个新类是Servlet,你要用一个web.xml文件,保存该web程序的配置文件。在web.xml文件中我们用两个xml元素——<servlet>和<servlet-mapping>把URL myServlet连接到此Servlet实际的java程序。web.xml内容如下:

<?xml version="1.0" encoding = "ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
         "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
         <display-name>Example Application</display-name>
         <servlet>
         <servlet-name>myServlet</servlet-name>
         <servlet-class>org.eclipsebook.servlet.myServlet</servlet-class>
         </servlet>
         <servlet-mapping>
         <servlet-name>myServlet</servlet-name>
         <url-pattern>org.eclipsebook.servlet.myServlet</url-pattern>
         </servlet-mapping>
</web-app>

输入上述xml文件的程序代码,保存web.xml,将之复制到WEB-INF目录下。最后,关闭Tomcat,重新启动它。http://localhost:8080/myServlet/org.eclipsebook.servlet.myServlet让浏览器连接到。

【编辑推荐】

  1. 详解JSP中调用JavaBean
  2. JSP开发环境的搭建
  3. 解决JSP开发Web程序中文显示三种方法
  4. 开发JSP HTTP服务器
  5. JSP、ASP和PHP安全编程
责任编辑:佚名 来源: 百度博客
相关推荐

2009-07-03 17:44:06

JSP介绍

2009-06-30 10:37:56

JSP教程

2009-07-06 16:55:06

JSP题目

2009-07-14 15:27:17

Jython脚本示例

2009-06-30 11:33:55

脚本JSP教程

2009-06-30 16:33:42

JSP2.0特性JSP教程

2009-07-03 14:04:07

学习JSPJDK的安装配置

2011-08-02 13:44:49

JSPJDBCSQL Server

2009-07-03 14:31:43

学习JSP

2011-06-07 11:14:51

JAVAJSP

2021-09-13 18:39:50

ServeltELJSP

2018-08-06 08:51:32

Linux命令cut

2009-06-30 11:18:16

HTML表单JSP教程

2010-05-21 13:41:40

MySQL配置参数

2010-03-22 11:26:18

Python示例程序

2023-06-26 07:26:50

System.Net网络通信基础接口

2021-09-13 09:54:51

Linuxcrontab命令

2009-06-30 11:02:29

JSP教程

2011-06-30 09:49:40

JSPJ2EE

2009-07-06 17:46:25

JSP HTTP服务器
点赞
收藏

51CTO技术栈公众号