学完了前端vue之后对后端的知识有所遗忘,写博客用来记录一些平时开发中的弱点问题和第二次回顾时遇到的知识点算作是一个笔记吧,接着放上新人初学web的视频网站 视频链接
什么是Servlet?
servlet是Javaweb应用中最核心的组件,主要作用概括为接受客户端请求并相应数据给客户端
在开发中很少通过servlet接口来实现servlet程序
一般使用servlet接口的子类httpservlet
编写步骤:
1.编写一个类去继承HttpServlet
2.根据业务需要重写doGet 或 doPost 方法
3.到web.xml中配置Servlet程序的访问地址
使用IDEA配置更快
选择包之后右击选择new一个servlet程序
2.xml文件中的servlet配置
在新人初学web的时候,经常会遇到404问题,可能是Servlet在xml文件中配置出现了问题,下面说一下xml对Servlet的配置
<!-- servlet标签中给tomcat配置servlet程序-->
<servlet>
<!-- servlet-name标签时为servlet程序起一个别名(一般是类名)-->
<servlet-name>javaServlet</servlet-name>
<!-- servlet-class是servlet的全类名-->
<servlet-class>servlet.javaServlet</servlet-class>
</servlet>
<!-- servlet-mapping标签的servlet程序配置访问地址-->
<servlet-mapping>
<!-- servlet-name标签的作用是告诉服务器,我当前配置的地址是哪个servlet程序使用-->
<servlet-name>javaServlet</servlet-name>
<!-- url-pattern标签配置访问地址
/ 斜杠在服务器解析的时候 表示地址为:http://ip:port/工程路径
/hello 表示地址为:http://ip:port/攻城路径/javaServlet
-->
<url-pattern>/javaServlet</url-pattern>
</servlet-mapping>
在学习web基础的时候,老师们经常强调斜杠问题,不止在xml文件当中,在前端页面例如form表单中也存在这样的问题,这个/用错了将会影响前后端交互问题,在这里重点强调一下,也给自己提个醒
引用一下图片加深一下对/的理解
3.servlet 的生命周期
生命周期即是从出生到死亡的过程
public class javaServlet implements Servlet {
public javaServlet(){
System.out.println("我是构造器");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("我是初始化");
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("执行service方法");
}
@Override
public void destroy() {
System.out.println("我被干掉了");
}
从运行过程中可以看出来
Servlet的生命周期分为四步
1.执行servlet 构造器方法
2.执行init 初始化方法
第一步第二步,是在第一次访问的时候创建Servlet程序会调用
3.执行service 方法
第三步:每次访问都会调用
4.执行destroy 销毁方法
第四步在web工程停止的时候被调用