Servlet的介绍
Servlet是运行在服务端的java小程序,是由sun公司提供的一套规范。
servlet的实质就是java代码,可以通过java提供的API动态的向客户端输出内容。
Servlet的作用
Servlet主要是用来处理客户端的请求,同时响应给浏览器的动态web资源技术。
Servlet的运行原理
1)浏览器发送请求,tomcat接收到请求的地址。通过请求地址找到访问哪个项目,通过最后/hello,找项目中所有的Servlet
2)通过反射读取每个Servlet中的注解值,匹配到/hello,找到了需要访问的servlet。
3)通过反射实例化这个Servlet对象
4)创建request和response对象
5)并且调用service方法,将request和response对象传递进来。
6)执行servlet中的代码
7)将响应的信息封装成response对象返回到浏览器,在浏览器上显示出来。
Servlet与普通java程序的区别
1. 普通的java类需要有main方法才能运行,Servlet程序是由服务器调用的,不需要main方法;
2. 普通的java类不能接收用户的请求数据同时响应数据给浏览器,Servlet可以接收用户的请求数据,同时向浏览器 输出数据;
Servlet的使用
使用步骤:
1. 新建一个项目;
2. 自定义一个类实现Servlet接口,并且把Servlet接口的方法全部实现;
3. 把自己的业务逻辑代码编写在service方法内部;
4. 使用@WebServlet注解的方式配置映射路径;
5. 把当前项目部署到Tomcat服务器上;
6. 启动Tomcat服务器;
示例代码:
import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
//配置映射路径
@WebServlet(urlPatterns = "/abc")
public class Demo1Servlet implements Servlet {
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
//解决向浏览器输出中文乱码问题
response.setContentType("text/html;charset=utf-8");
//获取向浏览器输出数据的流对象
PrintWriter out =response.getWriter();
out.write("呵呵,Servlet没想到这么简单!");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
Servlet的注意事项
1.选择javaee的规范最起码是7就开始才支持servlet3.0