自定义Servlet

WEB-INF\src\FirstServlet.java

/*
自定义Servlet类,必须继承HttpServlet类,一个特殊的java类,每个Servlet类可以响应客户端的请求get、post、put、delete请求。通常只有get和post两种,处理所有的请求只需要重写service方法即可。另外HttpSerlet还包含两个方法,init(初始化)和destroy(销毁),一般不用重写这两个方法。如果重写了init方法,那么第一行应该调用父类的init方法。
Servlet 3.0可以在代码中用Annotation进行Servlet的配置@WebServlet(name="firstServlet",urlPatterns={"/firstServlet"})
也可以在web.xml中配置
*/
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class FirstServlet extends HttpServlet
{
	public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,java.io.IOException
	{
		request.setCharacterEncoding("GBK");
		response.setContentType("text/html;charset=GBK");
		String name = request.getParameter("name");
		String gender = request.getParameter("gender");
		String[] color = request.getParameterValues("color");
		String national = request.getParameter("country");
		PrintStream out = new PrintStream(response.getOutputStream());
		out.println("<html>");
		out.println("<head>");
		out.println("<title>自定义 Servlet 测试</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("您的名字:" + name + "<hr/>");
		out.println("您的性别:" + gender + "<hr/>");
		out.println("您喜欢的颜色:");
		for(String c : color)
		{
			out.println(c+" ");
		}
		out.println("<hr/>");
		out.println("您喜欢的颜色:");
		out.println("您来自的国家:" + national + "<hr/>");
		out.println("</body>");
		out.println("</html>");
	}
}

把java源码通过javac编译命令编译到WEB-INF\classes目录下,编译前要把tomcat下面的servlet-api.jar和jsp-api.jar放到classpath环境变量中。

WEB-INF\web.xml

<?xml version="1.0" encoding="utf-8" ?>
<web-app version="2.5" xmls="http://java.sun.com/xml/ns/j2ee" xmls:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">
	<!-- 自定义Servlet -->
	<servlet>
		<!-- 自定义Servlet的名字,jsp页面的名字是jsp -->
		<servlet-name>firstServlet</servlet-name>
		<!-- 指定Servlet的实现类 -->
		<servlet-class>FirstServlet</servlet-class>
	</servlet>
	<!-- 配置Servlet的URL -->
	<servlet-mapping>
		<!-- 要配置的Servlet名字 -->
		<servlet-name>firstServlet</servlet-name>
		<url-pattern>/MyServlet</url-pattern>
	</servlet-mapping>
</web-app>

我的浏览器访问地址:http://localhost:8080/Sample/MyServlet

就可以访问自己的Servlet了。自定义的Servlet跟jsp效果完全相同,jsp最后也是生成了一个Servlet。

你可能感兴趣的:(自定义Servlet)