1.servlet的注解
2.servlet的三大职责:
1.接收参数
2.处理业务逻辑
3.控制页面跳转
Servlet与Servlet之间为什么要进行跳转
如果servlet不进行跳转,我们的重复代码就会写很多,真实开发都是
AServlet写一部分功能,BServlet也写一部分功能,这2部分功能组合在一起,整个程序就能正常运行
这样做的好处:
强调是一个职责分明,各自做各自擅长的事情
servlet与Servlet之间为什么存在数据共享呢?
1.servlet不适合做页面输出,而JSP页面适合做界面输出,所以我们可以在Servlet中把数据查询出来
并且存放到作用域对象中,界面获取共享数据就可以直接输出了
跳转问题:
1。请求转发
1.1 url地址栏依然是请求之前的地址
1.2 在整个请求中只发送了一次请求(既然只发了一个请求,那请求的参数也会被多个servlet所共享)
1.3 它可以访问WEB-INF下面的资源
1.4它不能跨域访问
1.5 用的AServlet的请求,BServlet的响应
2.重定向:
1.1 url地址栏会发生改变
1.2 它会发送多次请求(所以你传递的参数,多个servlet得不到共享)
1.3不可以访问WEB-INF下面的资源
1.4 可以跨域访问
1.5 每次请求它都会响应给客户端
共享数据---》请使用作用域对象
对象 类型 描述
pageContext PageContext 只能在当前页面所共享数据
request HttpServletRequest 只能在同一个请求中共享数据
session HttpSession 在同一次会话中共享数据(打开浏览器按下回车那一刻====》一直等到浏览器关闭)
application ServletContext 在同一个应用中共享数据(tomcat开启---tomcat关闭)
注意: 你在哪个作用域对象设置的值,就应该在哪一个作用域对象进行取值
ServletContext常见的方法:
getContextPath()获取上下文路径
getRealpath("")获取绝对路径
getInit...() 获取全局的初始化参数
JSP:它是要给java服务页面
JSP与Servlet都是做动态网页的
JSP = java(为辅)+ html(为主)
servlet = java(为主)+html(为辅)
JSP本质就是一个servlet