Tomcat手工搭建Jsp和Servlet程序
要执行J2EE的程序,就必须安装相关的容器。而怎样选择JSP+Servlet模式。Tomcat是非常重要的选择之中的一个,是世界上最为广泛的Servlet和JSP容器。
下载:
1. URL: http://tomcat.apache.org/ Tomcat 7.0.52
2. 单击左面”Tomcat 7.0”,进入Tomcat 7.0.52页面
3. 单击Binary Distributions以下的,操作系统匹配的ZIP文件。
配置:
1. 将下载后的文件解压缩到D:\apache-tomcat-7.0.52文件夹。
2. 在系统环境变量中新添加一个环境变量TOMCAT_HOME
TOMCAT_HOME=D:\apache-tomcat-7.0.52
验证:
验证Tomcat安装是否成功。过程例如以下:
1. 双击Tomcat安装文件夹下的bin中的startup.bat,启动 Tomcat.
2. 在IE中输入http://localhost:8080,測试Tomcat启动成功,欢迎界面:
TroubleShooting:
确定服务启动之后,此页面打不开,非常可能是安装Oracle服务,占用了8080port
Tomcat的全部配置文件都在conf目录中。server.xml是核心配置文件。
打开conf目录中的server.xml
<Connector port="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将8080更改为相应port就可以。此处改为80port。
<Connector port="80"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
此后启动时仅仅需输入80port就可以。
又一次启动。查看效果。
80port是浏览器默认的port。能够不输入80。其它port则须要输入。假设是server,输入serverIP.
3. 点击Examples,能够看到JspExamples, Servlets Examples. 进去能够看到Source及Excute效果. 此外还有JDBCDataSource,能够看到怎样连接不同数据库。
创建和公布JSP应用程序:
1. 在D:\apache-tomcat-7.0.52\webapps文件夹下新建文件夹myHelloWorld。
2. 在此目录中新建jsp目录,并编写HelloWorld.jsp放在此文件里
<%@ pagecontentType="text/html; charset=UTF-8"language="java"import="java.sql.*" errorPage="" %>
<html>
<head>
<title>HelloWorld.jsp@D:\apache-tomcat-7.0.52\webapps\</title>
</head>
<body>
<font size=20>
<%
out.print("HelloWorld.jsp\"@D:\\apache-tomcat-7.0.52\\webapps\"");%>
</font>
</body>
</html>
3. 输入http://127.0.0.1/myHelloWorld/jsp/HelloWorld.jsp
注意:
假设演示样例不放在Tomcat的webapps文件夹下,则要修改Tomcat的conf文件下的server.xml文件。并重新启动Tomcat服务让其生效,假设放在此文件夹下。则不用做修改。
创建和公布Servlet应用程序:
实现思路:首先编写一个继承HttpServlet类,编译该类。然后配置web.xml;最后启动Tomcat.
1. 在myHelloWorld目录中新建目录com。在com下新建目录myHelloWorld。然后再该目录下编写输出 HelloWorld的Servlet文件HelloWorld.java。代码例如以下:
packagecom.myHelloWorld;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclass HelloWorld extends HttpServlet {
public void doGet(HttpServletRequestrequest,HttpServletResponse response)throws IOException,ServletException {
PrintWriter out = response.getWriter();
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta http-equiv=\"Content-Type\"content=\"text/html; charset=UTF-8\">\r\n");
out.write("</head>\r\n");
out.write("\r\n");
out.write("<body>\r\n");
out.write("<font size=20>\r\n");
out.print("Servlet to HelloWorld");
out.write("\r\n");
out.write("</font>\r\n");
out.write("</body>\r\n");
out.write("</html>");
}
}
2. 编译该java文件。并将编译后的HelloWorld.class放到myHelloWorld\WEB-INF\classes\com\myHelloWorld目录中
注意:
假设在命令行中编译,则须要将servlet-api.jar加到classpath中
3. 在myHelloWorld\WEB-INF目录下建web.xml,输入例如以下代码
<?
xmlversion="1.0" encoding="UTF-8"?
>
<web-appversion="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<!—设定Servlet-->
<servlet-name>Servlet</servlet-name>
<servlet-class>com.myHelloWorld.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<!—设定Servlet的相应关系-->
<servlet-name>Servlet</servlet-name>
<url-pattern>/do</url-pattern>
</servlet-mapping>
</web-app>
代码说明:凡是后缀为/do的请求都将通过com.myHelloWorld.HelloWorld来进行处理。
4. 启动Tomcat,并在IE中输入例如以下连接:http://127.0.0.1/myHelloWorld/do
注意:
怎样显示有代码。则非常可能是web.xml里面的代码造成的。所以在编码的时候一定要注意乱码的问题。
Web应用程序的文件夹结构例如以下图: