doget(httpservlet…)中的servlet由tomcat服务器创建
GenericeServlet实现了servlet接口,然后HttpServlet继承了GenericeServlet,

servlet接口中有init(),service(),destroy()等方法,然后GenericeServlet实现了servlet接口之后
将service方法改为抽象service方法。Httpservlet定义了常量doget、dopost等方法。HttpServlet中将GenericeServlet
中继承的service方法中的(ServletRequest、ServletResponse)强制转换成了(HttpServletRequest、HttpServletResponse)

然后再Httpservlet中获取service中的方法然后自行对doget、dopost等方法进行判断,

为什么重写doget和dopost方法
能够根据自己的业务逻辑来写,满足自身的业务逻辑,
如果重写了service方法 它就不会走父类的方法,dopost、doget就执行不到

在浏览器中输入地址的,找到servlet配置的url地址(虚拟路径),找到servlet-name,然后通过servletMapping
中servlet-name的找到servlet中的servlet-name,然后通过反射拿到包类路径执行方法。

doget和dopost中的req,resp从那里传过来的
由服务器传过来的,因为服务器已经实现了servlet定义的标准,实际我们在自定义的方法中
看到的是接口,但是运行时传过来的是tomcat实现了的实现类的对象,这就是多态的向上转型
servlet、GenericServlet和httpServlet之间的关系。由源码得出
javaweb--servlet学习总结
路径:
javaweb--servlet学习总结
servletConfig对象是服务器创建的

动态访问路径:
js表达式: request.getContextPath
el表达式: ${ pageContext.request.ContextPath}
post乱码和get乱码的原因分析:
post乱码:
javaweb--servlet学习总结
get乱码:
javaweb--servlet学习总结

相关文章: