—–Servlet
- Servlet是在服务器端执行的Java程序,通过使用Servlet类将HTTP请求和响应封装在标准JAVA类中来实现各种web应用方案
Servlet与JSP之间的关系与区别:
- JSP修改后可以立即看到结果,不需要编译;
而Servelt却需要编译。
- JSP是动态网页开发技术,是运行在服务器端的脚本语言,
而Servlet是web服务器端编程技术。
- Servlet实际上是JSP被解释执行的中间过程,即JSP实际上是为了让Servlet的开发显得相对容易而采取的脚本语言形式,其本质就是Servlet。
- JSP修改后可以立即看到结果,不需要编译;
Servlet常用方法
- init()方法用于初始化Servlet类。
- destroy()方法用于销毁Servlet实例以便回收占用的资源。
- doGet()方法用于处理客户端浏览器直接访问和表单get方式提交的表单。
- doPost()方法用来处理表单post方式的提交,不能处理客户端浏览器的直接访问。
- getServletConfig()方法用于获取Servlet的配置信息。
Servlet的配置
从Servlet3.0开始,配置Servlet有两种方式
- 在Servlet类中使用@WebServlet注解进行配置
@WebServlet(name="firstServlet",urlPatterns{"/firstServlet}")
- 通过web.xml文件中进行配置
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>com.mvc.service.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
其中url-pattern的配置方式:
1)完全匹配 :访问的资源与配置的资源完全相同才能访问到
2)目录匹配格式:/虚拟的目录../* *代表任意
3)扩展名匹配 格式:*.扩展名
Servlet的生命周期
- 装载Servlet
- 创建一个Servlet实例
- 调用Servlet的init()方法
- 服务:如果容器接收到对此Servlet的请求,那么调用Servlet的service()方法。
- 销毁:通过调用Servlet的destroy()方法来销毁Servlet