1.Servlet的生命周期面试高频
Servlet的默认创建是在第一次请求该Servlet的时候才创建,第一次惩罚
Servlet一旦创建,马上调用init()方法,每请求该Servlet,这个Servlet的service()方法就执行一次,一旦web服务器关闭之前,销毁所有的Servlet对象,在销毁servlet对象之前,调用destory()
2.Servlet是否是线程安全
线租安全:该对象是否是在多个线程共享的,如果是共享一定线程不安全,如果不共享,就是线程安全的
servlet则就是线程不安全的,因为一个servlet类只有一个servlet类只有一个servlet对象,所有的请求(一个请求对应一个线程)访问同一个Servlet,得到Servlet类的对象都是同一个,Servlet类对象是共享的,所以Servlet是线程不安全的。
开发中:
Servlet类不能定义压性接收客户端传递的参数
3.修改servlet创建时机
Servlet的默认创建是在第一次请求该Servlet的时候才创建,可以修改Servlet的配置,让Servlet的创建是在Tomcat启动的时候就创建
4.servlet的url配置
1.使用url-pattern设置访问的url,如果不使用*这个通配符,一定使用/进行开头
2.一个Servlet可以配置多个<url-pattern>在实际开发,一般就一个
3.<url-pattern>可以支持通配符
前缀匹配工/字符串/* -> 精确匹配
/ api/*︰匹配url包含/api至于api下—级路径,是任意的都匹配
后缀匹配:*.字符串
*.do
任意匹配:/*
如果有个Bservlet:但是Aservlet是全局匹配的谁会执行的呢?这里涉及到一个优先级的问题,二通配符是优先级是最低的,所以说先访问Bservlet的
关于java中的注解
注解属性的数据类型:
简单数据类型:基本数据类型+String或者数组类型注解类型,注解数组类型
枚举类型
前后台联系
javaWeb提供的对应API
servletRequest对象:封装请求信息(请求头,请求数据)
ServletResponse对象:封装响应信息(响应头,响应体)
前台通过一个表单, action写的servlet绑定的url,提交表单,请求我们servlet的doGet()/doPost()方法
问题:
1.后台获取前端的提交,请求的数据2.后台处理请求之后,把结果给到前端
解决方案:
javaWeb提供的对应APl