Servlet3.0版本之后,推出了Servlet基于注解式开发。
优点:开发效率高,直接在java类上使用注解进行标注,可直接省略WEB.xml文件配置
import javax.servlet.annotation.WebServlet;
@WebServlet
使用@WebServlet注解标注
@WebServlet的属性
name属性:用来指定Servlet的名字 == <servlet-name>
urlPatterns属性:用来指定Servlet的映射路径。可以指定多个路径 == <url-pattern>
loadOnstartUp属性:用来指定在服务器启动阶段是否加载该类。 == <load-on-startup>
value属性:和urlPatterns属性一样,都是用来指定Servlet映射路径(若使用value,则属性名可以省略)
@WebServlet(name ="demo" ,urlPatterns = {"/qgs/demoServlet1","/qgs/demoServlet2"}, loadOnStartup = 1,
initParams = {@WebInitParam(name ="demo1",value = "111"),@WebInitParam(name ="demo2",value = "222")})
public class DemoServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//获取初始化参数
Enumeration<String> Names = request.getParameterNames();
while (Names.hasMoreElements()) {
String name = Names.nextElement();
String value = getInitParameter(name);
}
out.print("hello world :"+request.getContextPath());
}
}
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet
最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API。Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
客户端发送请求至服务器端;
服务器将请求信息发送至 Servlet;
Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
服务器将响应返回给客户端。
Servlet 看起来像是通常的 Java 程序。Servlet 导入特定的属于 Java Servlet API 的包。因为是对象字节码,可动态地从网络加载,可以说 Servlet 对 Server 就如同 Applet对 Client 一样,但是,由于 Servlet 运行于 Server 中,它们并不需要一个图形用户界面。从这个角度讲,Servlet 也被称为 FacelessObject。
一个 Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应,但通常只用来扩展 Web 服务器的应用程序。