| 4.1.4 实现第一个JSP和SERVELT |
上一小节中,我们了解到了如何得到一个Servlets和JSP的运行环境,下面我们就来基于这个环境来进行具体的实例实践一把。
第一步、建立自己的jsp app目录
(1)、到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, Tomcat-docs之类Tomcat自带的的目录;
(2)、在webapps目录下新建一个目录,起名叫myapp;
(3)、myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
(4)、WEB-INF下新建一个文件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>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
(5)、在myapp下新建一个测试的jsp页面,文件名为testDate.jsp,文件内容如下:
<html><body>
<center>
Now time is: <%=new java.util.Date()%>
</center>
</body></html>
(6)、重启Tomcat
(7)、打开浏览器,输入http://localhost:8080/myapp/testDate.jsp 看到当前时间的话说明就成功了。
第二步、建立自己的Servlet
1、以Windows 2000 Server系列下配置如下所示:
我的电脑->属性->高级->环境变量
追加变量名:CLASSPATH下变量值:%TOMCAT_HOME%\common\lib\Servlet-api.jar;
2、用你最熟悉的编辑器(建议使用有语法检查的java ide,如Eclipse)新建一个Servlet程序,文件名为TestServlet.java,文件内容如下:
package example4;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.servletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
//使用doGet方法得到数据
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//置全部的头部信息
//response.setContentType("text/html");
//在使用PrintWriter或者ServletOutputStream向文档写东西前,需要设置全部的头部信息
PrintWriter out=response.getWriter();
//在页面上输出内容
out.println("<html><body><h1>This is a Servlet test.</h1></body></html>");
out.flush();
}
}
3 、编译
将Test.java放在C:\test下,使用如下命令编译:
C:\Test>javac TestServlet.java
然后在C:\Test下会产生一个编译后的Servlet文件:TestServlet.class
4.将结构example4\ TestServlet.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有example4\ TestServlet.class的文件目录结构
5、修改webapps\myapp\WEB-INF\web.xml,添加Servlet和Servlet-mapping
编辑后的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">
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<!--声明了你要调用的Servlet-->
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>example4.TestServlet</servlet-class>
</servlet>
<!--声明了你Servlet“映射”到的地址-->
<servlet-mapping>
<url-pattern>/Test</url-pattern>
<servlet-name>Test</servlet-name>
</servlet-mapping>
</web-app>
这段话中的Servlet这一段声明了你要调用的Servlet,而Servlet-mapping则是将声明的Servlet“映射”到地址/Test上.
注:<servlet-name>...</servlet-name>为Servlet在服务器中的ID
<servlet-class>...</servlet-class>为Servlet-class类名
<url-pattern>...</url-pattern>为镜像路径亦虚拟路径
在C:\Tomcat5\webapps\你的应用目录\WEB-INF\web.xml 中注册
建议你自己应用所用的SERVLET类放置到 C:\Tomcat5\webapps\你的应用目录\WEB-INF\classes 中;在web.xml注册SERVLET类路径是“/ Test”即可。
6、好了,启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a Servlet test.就说明编写的Servlet成功了。
注意:修改了web.xml以及增加了class,都要重启Tomcat
第五步、建立自己的Bean
1、用你最熟悉的编辑器(建议使用有语法检查的java ide,如Eclipse)新建一个java程序,文件名为TestBean.java,文件内容如下:
package example4;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}
}
2、编译
将TestBean.java放在C:\test下,使用如下命令编译:
C:\Test>javac TestBean.java
然后在C:\Test下会产生一个编译后的bean文件:TestBean.class
3、TestBean.class文件剪切到ATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下。
4、 在目录myapp新建一个TestBean.jsp文件,文件内容为:
<%@ page import=" example4.TestBean" %>
<html><body>
<center>
<%
TestBean testBean=new TestBean("This is a test java bean.");
%>
Java bean name is: <%=testBean.getName()%>
</center>
</body></html>
5 、好了,重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp 如果看到如下图所示:

图4-1
就说明编写的Bean成功了。
这样就完成了整个Tomcat下的jsp、Servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。
几个注意事项:
1、javabeans强制引入包package *.*;
2、Servlet类库为%TOMCAT_HOME%\common\lib\Servlet-api.jar
而不是%TOMCAT_HOME%\lib\Servlet.jar(不存在这个目录及类库)
3、引入第三方类库须加入CLASSPATH或加入%JAVA_HOME%\lib\下,以正常加载。