总章: 开发Servlet有三种方法
a.实现Servlet接口 b.继承GenericServlet c.继承HttpServlet
a.实现Servlet接口demo
Hello.java文件:
import javax.servlet.*;
import java.io.IOException;
public class Hello implements Servlet{
//该函数用于初始化该Servlet(类似于类的构造函数)
//该函数只会被调用一次(当用户第一次访问该servlet时被调用)
public void init(ServletConfig parm1) throws ServletException{
//TODO:Add your code here
System.out.println("init servlet");
}
public ServletConfig getServletConfig(){
//TODO:Add your code here
return null;
}
//这个函数用于处理业务逻辑
//程序员应当把业务逻辑代码写在这里
//当用户每访问该servlet时,都会调用
//req:获得客户端的信息
//res:服务器向客户端返回的信息
public void service(ServletRequest req,ServletResonse res){
//TODO:Add your code here
//控制台中输出
System.out.println("service servlet");
//从res中得到PrintWriter
PrintWriter pw = res.getWriter();
pw.println("hello world");
}
//销毁servlet实例(释放内存)
//1.reload 该servlet 2.关闭tomcat 3.关机
public void destory(){
//TODO:Add your code here
}
}
web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<!-- 给你的Servlet取名,任意的 -->
<servlet-name>hello</servlet-name>
<!-- 指名Servlet的路径(报名+类名) -->
<servlet-class>hellocom.wayne.impservlet.Hello</servlet-class>
</servlet>
<servlet-mapping>
<!-- 给你的Servlet取名,任意的 -->
<servlet-name>hello</servlet-name>
<!-- 这是在浏览器中输入的访问该Servlet的url,取名任意的 -->
<url-pattern>/sp</url-pattern>
</servlet-mapping>
</web-app>
b.继承GenericServlet
HelloGen.java:
import javax.servlet.GenericServlet;
import javax.servlet.*;
import java.io.*;
public class HelloGen extends GenericServlet{
//重写service方法即可
public void service(ServletRequest req,ServletResponse res){
try{
PrintWriter pw = res.getWriter();
pw.println("hello world! genericServlet");
} catch(Exceptioin ex){
e.printstackTrace();
}
}
}
web.xml:
<servlet>
<!-- 给你的Servlet取名,任意的 -->
<servlet-name>hellogen</servlet-name>
<!-- 指名Servlet的路径(报名+类名) -->
<servlet-class>com.wayne.genericservlet.HelloGen</servlet-class>
</servlet>
<servlet-mapping>
<!-- 给你的Servlet取名,任意的 -->
<servlet-name>hellogen</servlet-name>
<!-- 这是在浏览器中输入的访问该Servlet的url,取名任意的 -->
<url-pattern>/br</url-pattern>
</servlet-mapping>