Servlet在JSP中是一个很重要的东西。Servlet是服务器小应用程序,用了完成在B/S架构下,客户请求的响应。Servlet写好的类必须部署在一个Servlet容器中才能运行。
如果说我编译得到一个Servlet的class文件,其内容书写如下
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;
import org.omg.CORBA.Request;
public class MyServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.println("<font color=red>I'm a Servlet</font>");
out.flush();
out.close();
/*通过Tomcat,不需要建立Socket
* */
}
/**
*
*/
private static final long serialVersionUID = 1L;
}
将其放在Tomcat 6.0\webapps\MyJSP\WEB-INF\classes文件下,
现在的任务是这样通过浏览器访问到这个Servlet程序呢,查看WebRoot下的web.xml文件
web.xml文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="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">
。。。。。
</web-app>
现在为了与其关联我需要添加2条语句
<servlet>
<servlet-name>MyServletxx</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
第一行可以选一个名字,不过接下来一段的名称必须与其相同,第二行即这个Servlet类的类名,在加以下内容
<servlet-mapping>
<servlet-name>MyServletxx</servlet-name>
<!-- 将ervlet -->
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
这个名字必须与前面的相同,第二个指明了访问路径,如果我这样写了,可以在浏览器中输入以下内容访问
http://localhost:8080/MyJSP/MyServlet
OK