经常看到jsp的初学者问tomcat下如何配置jspservlet的问题于是总结了一下如何tomcat下配置jspservlet希望对那些初学者有所帮助
第一步下载jsdk和tomcat到sun官方站点
最新的jdk为tomcat为建议jdk以上tomcat以上
第二步安装和配置你的jsdk和tomcat执行jsdk和tomcat的安装程序然后设置按照路径进行安装即可
安装jsdk以后需要配置一下环境变量在我的电脑>属性>高级>环境变量>系统变量中添加以下环境变量(假定你的jsdk安装在c:\jsdk)
JAVA_HOME=c:
\jsdk
classpath=;
%JAVA_HOME%\lib\dtjar;
%JAVA_HOME%\lib\toolsjar;
path=%JAVA_HOME%\bin
接着可以写一个简单的java程序来测试JSDK是否已安装成功
public class Test
{
public static void main
(String args[])
{
Systemoutprintln
(This is a test program);
}
}
将上面的这段程序保存为文件名为Testjava的文件
然后打开命令提示符窗口cd到你的Testjava所在目录然后键入下面的命令
javac Testjava
java Test
此时如果看到打印出来This is a test program的话说明安装成功了如果没有打印出这句话你需要仔细检查一下你的配置情况
安装Tomcat后在我的电脑>属性>高级>环境变量>系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat)
CATALINA_HOMEc:\tomcat
CATALINA_BASEc:\tomcat
TOMCAT_HOME: C:\Tomcat
然后修改环境变量中的classpath把tomat安装目录下的common\lib下的servletjar追加到classpath中去修改后的classpath如下
classpath=;
%JAVA_HOME%\lib\dtjar;
%JAVA_HOME%\lib\toolsjar;
%CATALINA_HOME%\common\lib\servletjar;
接着可以启动tomcat在IE中访//localhost:如果看到tomcat的欢迎页面的话说明安装成功了
第三步建立自己的jsp app目录
到Tomcat的安装目录的webapps目录可以看到ROOTexamples tomcatdocs之类Tomcat自带的的目录
在webapps目录下新建一个目录起名叫myapp
myapp下新建一个目录WEBINF注意目录名称是区分大小写的
WEBINF下新建一个文件webxml内容如下
<?xml version=
encoding=ISO?>
<!DOCTYPE webapp
PUBLIC //Sun Microsystems
Inc//DTD Web Application //EN
app__dtd>
<webapp>
<displayname>My Web Application
</displayname>
<description>
A application for test
</description>
</webapp>
在myapp下新建一个测试的jsp页面文件名为indexjsp文件内容如下
<html><body><center>
Now time is:
<%=new javautilDate()%>
</center></body></html>
重启Tomcat
打开浏览器输入 看到当前时间的话说明就成功了
第四步建立自己的Servlet
写入你的第一个Servlet
import javaio*;
import javaxservlet*;
import javaxservlethttp*;
public class HelloWorld
extends HttpServlet
{
public void doGet
(HttpServletRequest request
HttpServletResponse response)th
rows ServletExceptionIOException
{
responsesetContentType(text/html);
PrintWriter out = responsegetWriter();
outprintln(<html><head><title>);
outprintln(This is my first Servlet);
outprintln(</title></head><body>);
outprintln(<h>HelloWorld!</h>);
outprintln(</body></html>);
}
}
然后照样用javac HelloWorldjava来编译这个文件如果出现无法import javaxservl
et*
那么就是应该把C:\Tomcat\common\lib里面的servletjar文件拷贝到C:\JDK\jre\lib\e
xt中再次编译就没有问题了
然后在Tomcat目录里面的C:\Tomcat\webapps\ROOT里面按如下的文件结构
ROOT\l
ROOT\welcomjsp
ROOT\WEBINF\lib\MyServletjar
(如果你的servlet的class打成了jar文件
则放在lib下面)
ROOT\WEBINF\classes\HelloWorldclass
(把上面生成的HelloWorldclass文件放在这个里面)
然后在浏览器中输//localhost:/servlet/HelloWorld于是Server众望所归的报错了:Error Not Found
怎么回事呢?
Servlet必须使用C:\Tomcat\webapps\ROOT\WEBINF这个目录下面的webxml文件进行注册
用EP打开这个webxml文件
把下面这段程序
<servlet>
<servletname>HelloWorld</servletname>
<servletclass>HelloWorld</servletclass>
</servlet>
<servletmapping>
<servletname>HelloWorld</servletname>
<urlpattern>/servlet/HelloWorld</urlpattern>
</servletmapping>
替换成
<servlet>
<servletname>HelloWorld</servletname>
<servletclass>HelloWorld</servletclass>
</servlet>
<servletmapping>
<servletname>HelloWorld</servletname>
<urlpattern>/servlet/HelloWorld</urlpattern>
</servletmapping>
为什么呢?
因为 这样的结构
<servlet>
<servletname>HelloWorld</servletname>
<servletclass>HelloWorld</servletclass>
</servlet>
表示指定包含的servlet类
而以下的结构
<servletmapping>
<servletname>HelloWorld</servletname>
<urlpattern>/servlet/HelloWorld</urlpattern>
</servletmapping>
表示指定HelloServlet应当映射到哪一种URL模式
在修改webxml完毕过后重新启动Server然后再输//localhost:/servlet/HelloWorld那么偌大一个HelloWorld!等着你呢