Servlet
Servlet全称Java Servlet,是用Java编写的服务器端程序。其主要功能是可以进行交互式的浏览和修改数据,生成动态Web内容。可以利用继承HttpServlet类来实现Http请求,当不是Http请求的时候,也可以定义其他形式的Servlet。
Servlet 运行于支持Java的服务器中,从现实上讲,Servlet可以响应任何类型的请求,但是绝大多数情况下Servlet只用于来扩展基于Http协议的Web服务器。
Servlet容器
servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用Servlet方法,如doGet方法和doPost方法。
学习Web技术,需要有一个Servlet运行环境,也就是需要有一个Servlet容器
Servlet与JSP的区别
1、Servlet承担客户请求与业务处理的中间角色,需要调用固定的方法,将动态内容混合到静态之中产生HTML;
在JSP页面中,可直接使用HTML标签进行输出,要比Servlet更具显示层的意义
2、Servlet中需要调用Servlet API接口处理HTTP请求
在JSP页面中,则直接提供了内置对象进行处理。
3、Servlet的使用需要进行一定的配置,而JSP文件通过“.jsp”扩展名部署在容器之中,容器对其自动识别,直接编译成Servlet进行处理。
Servlet工作原理
Servlet由Tomcat服务器负责管理。Tomcat服务器通过读取web.xml创建并运行Servlet
Servlet的创建
这个<servlet-name>名字myservlet是自己起的,想叫什么都行
Servlet创建后,必须为Tomcat服务器编写一个部署文件web.xml,只有这样Tomcat服务器才会按照用户的请求使用Servlet字节码文件创建对象。
web.xml由Tomcat服务器负责管理,并且必须放在WEB-INF目录下
servlet的运行
利用servletdemo.jsp的表单向LoginServlet传送用户名和密码,LoginServlet利用html标记来显示用户名
doGet和doPost方法
get和post两种登录方式,在地址栏就可以看到区别
getpost
通过jsp页面访问servlet
用户除了可以在浏览器的地址栏中直接键入Servlet的请求格式来请求运行一个Servlet外,也可以通过jsp页面来请求一个servlet。也就是所,可以让jsp页面负责数据的显示,而让一个servlet去做和数据处理有关的事情
service方法,如果service和doGet和doPost同时存在的话,servlet只会执行service方法
重定向与转发
重定向是sendRedirect
转发是RequestDispatcher