服务器端小应用程序。
Web应用程序目录结构:
应用程序名
静态页面区
WEB-INF
web.xml
lib 第三方jar
classes 写好的servlet字节码
META-INF
这是sun公司的规定,我们必须遵守。
A servlet is a small Java program that runs within a Web server.
我们现在就来手动开发一个servlet程序,“Hello World!”,这可是程序学习的咒语,你可要重视了啊,哈哈哈
第一步:我们根据web的工作目录建立文件结构。
文件夹(FirstServlet)
里面文件夹WEB-INF
里面web.xml,lib文件夹,classes文件夹
内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
第二步:编译如下文件并将.class文件拷贝到WEB-INF/classes下。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) {
try {
PrintWriter pw = resp.getWriter();
pw.println("<html>" +
"<head>"+
"<title>"+
"First Servlet"+
"</title>"+
"</head>"+
"<body>"+
"<h1>Hello World!</h1>"+
"</body>"+
"</html>");
} catch (IOException ioe) {
System.out.println("getWriter() Exception!");
ioe.printStackTrace();
}
}
}
第三步:将整个文件夹放入tomcat安装文件目录下的webapp下。也可以通过配置文件的host节点来配置,但不如这个简单。改写web.xml,如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/sayHello</url-pattern>
</servlet-mapping>
</web-app>
第四步:打开浏览器,输入:
http://localhost:8080/FirstSrevlet/sayHello
几点需要注意的地方:
你的编译器可能不能找到HttpServlet的接口定义,可以到apache安装目录下的lib中找到。
Url-pattern就是你访问本站点时输入的url的后面部分,从FirstServlet文件夹开始,必须带有:“/”。