/*
Servlet的实现
Servlet是Server与Applet的缩写,是服务端小程序的意思。使用Java语言编写的服务器端程序,可以像生成动态的WEB页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准来开发的类是SUN公司提供的一门用于开发动态Web资源的技术。(言外之意:要实现web开发,需要实现Servlet标准)
Servlet本质上也是Java类,但要遵循Servlet规范进行编写,没有main()方法,它的创建、使用、销毁都由 Servlet容器进行管理(如Tomcat)。(言外之意:写自己的类,不用写main方法,别人自动调用)
Servlet是和HTTP协议是紧密联系的,其可以处理HTTP协议相关的所有内容。这也是Servlet应用广泛的原因之一。
提供了Servlet功能的服务器,叫做Servlet容器,其常见容器有很多,如Tomcat,Jetty,WebLogic Server, WebSphere,IBoss等等。
*/
package com.xxxx.serlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/*
* 实现servlet
* 1.创建普通Java类
* 2.实现servlet的规范,继承HttpServlet类
* 3.重写service方法,用来处理请求
* 4.设置注解,指定访问的路径
*
* */
//@WebServlet("/ser01")
//@WebServlet(name="servlet01",value="/ser01")
//@WebServlet(name="servlet01",value={"/ser01","/ser001"})
//@WebServlet(name="servlet01",urlPatterns="/ser01")
//@WebServlet(name="servlet01",urlPatterns="/ser001")
@WebServlet("/ser01")///路径中的"/"不要忘记写
public class serlet01 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//打印在控制台
System.out.println("hello servlet!");
//通过流输出数据到浏览器
resp.getWriter().write("hello servlet!");
}
}
package com.xxxx.serlet;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
/*
* 继承 GenericServlet类
* */
@WebServlet("/ser02")
public class serlet02 extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("继承 GenericServlet类");
}
}
package com.xxxx.serlet;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
/*
*实现servlet接口
* */
@WebServlet("/ser03")
public class serlet03 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("实现servlet接口");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
package com.xxxx.serlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/ser04")
public class serlet04 extends HttpServlet {
// @Override
// protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// System.out.println("service....");
// }
/*
*Get请求调用的方法
* @param req
* @param resp
* @throws servletException
* @throws IOException
* */
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Get请求...");
//代码
}
/*
*Post请求调用的方法
* @param req
* @param resp
* @throws servletException
* @throws IOException
* */
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Post请求...");
//调用Get请求
doGet(req,resp);
}
}