1 涉及的技术知识点
1)Servlet
2)Request请求对象
3)Response响应对象
2 什么是Servlet?
1)Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案。而具体的Servlet容器负责提供标准的实现。Tomcat(Web应用服务器,Servelt容器)实现了这些标准。
2)Servlet作为服务器端的一个组件,它的本意是“服务器端的小程序”。Servlet的实例对象由Servlet容器负责创建;Servlet的方法由容器在特定情况下调用;Servlet容器会在Web应用卸载时销毁Servlet对象的实例。
3)简单可以理解为:Servlet就是用来处理客户端的请求的.
3 Servlet开发规则
1)实际编码通过继承HttpServlet来完成Servlet的开发
2)Servlet类的相关方法
doGet Servlet中用于处理get请求的方法
doPost Servlet中用于处理post请求的方法
service
①在Servlet的顶层实现中,在service方法中调用的具体的doGet或者是doPost
② 在实际开发Servlet的过程中,可以选择重写doGet以及doPost 或者 直接重写service方法来处理请求。
Servlet在web.xml中的配置:非常关键的一步
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <!-- 配置LoginServlet : 配置LoginServlet与 处理的请求的映射. 客户端请求匹配的过程: 与<serlvet-mapping>中的< url-pattern>进行匹配, 匹配到以后,再找到<servlet-mapping> 中的<servlet-name>的值, 再拿上该值 到<servlet>节点中匹配 相同的<servlet-name>,进而 找到<servlet-class>. Tomcat通过反射的方式创建LoginServlet的实例,根据具体的请求方式调用对应的doGet或者是doPost方法. --> <servlet> <servlet-name>loginServlet</servlet-name> <servlet-class>com.web.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>loginServlet</servlet-name> <!-- 客户端的登录请求: http://localhost:8888/web01/login --> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
package com.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { /* //根据具体的请求方式来调用doGet 或者 doPost @Override protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException { // TODO Auto-generated method stub super.service(arg0, arg1); } */ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.print("qingqiu"); } }