servlet称之为服务端小程序,是一个运行在服务器的Java程序,通俗来说就是一个Java类;Servlet一词的来历是由server、applet组合而成,applet是一个早期运行在客户端的java程序,所以早期的客户端需要运行applet都必须在主机中具备java运行环境(JRE),后来由于windows系统中不再预装JRE,所以sun公司研发了一种能在服务端运行的java程序,将编译好的java应用结合html直接发送的客户端,因此产生了servlet技术。
想要用好servlet就要先学会如何配置它。
配置servlet有两种方法,不过要看具体的版本进行选择。
方法一:3.0以前基于web.xml
<!-- servlet的配置 -->
<servlet>
<!-- servlet的内部名称,自定义 -->
<servlet-name>hello</servlet-name>
<!-- servlet的类全名: 包名加上简单类名 -->
<servlet-class>com.softeem.servlets.HelloServlet</servlet-class>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,必须和上面的内部名称保持一致 -->
<servlet-name>hello</servlet-name>
<!-- servlet的映射路径(用来访问servlet的名称) -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
方法二:版本3.0以上可以基于注解配置
如此配置之后,就可以不必在 web.xml 中配置相应的 <servlet> 和 <servlet-mapping> 元素了,容器会在部署时根据指定的属性将该类发布为 Servlet。
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 注解配置后就不用在web.xml中配置,反之亦然,若同时配置,可能会出现问题
*/
//@WebServlet("/hello")
@WebServlet({"/hello","/helloservlet","/HelloServlet"})
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public StudentServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
// MVC(Model模型-View视图-Cotroller控制器)
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}