使用SpEL表达式装配Bean
SpEL运算符
Servlet 3.0新增注释
新增注释是Servlet 3.0中的重大革新之一。通过使用注释就无需在web.xml文件中对Servlet或者过滤器进行配置。
新增的注释支持:Servlet 3.0的部署描述文件web.xml的顶层标签
有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的。
如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解
如果不配置该属性,或者将其设置为 false,则表示启用注解支持
Servlet 3.0新增的注释有@WebServlet
、@WebFilter
、@WebListener
和@WebInitParam
等。
JSP中的九大隐含对象
JSP隐含对象(又称内置对象),是指可以不加声明和创建就可以在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量。
在JSP中一共预先定义了九个隐含对象,分别为request, response, pageContext, session, application, out, config, page和exception。
JSP隐含对象的类型如下表所示:
隐含对象 | 类型 | 作用域 |
---|---|---|
request | javax.servlet.http.HttpServletRequest | request |
response | javax.servlet.http.HttpServletResponse | page |
pageContext | javax.servlet.jsp.PageContext | page |
session | javax.servlet.http.HttpSession | session |
application | javax.servlet.ServletContext | application |
out | javax.servlet.jsp.JspWriter | page |
config | javax.servlet.ServletConfig | page |
page | java.lang.Object | page |
exception | java.lang.Throwable | page |
JSP中的四种范围属性
JSP中的对象,包括用户创建的对象(如JavaBean对象)和JSP的隐含对象,都有一个范围属性。范围属性规定了这些对象的作用域,定义了在什么时间内,在哪一个JSP页面中可以被访问。在JSP中,有四种范围属性:
- page:在一个jsp页面内有效,跳转后无效
- request:在一次服务请求范围内有效,可以跨越forward前后两页
- session:在一次会话范围内有效,即从浏览器打开到浏览器关闭这个过程有效
- application:在整个Web应用程序运行期间有效
下面进行详细介绍。
servlet的注册和映射
Servlet程序需要在web.xml中注册和映射,才可以被Servlet引擎(容器)加载和被外界访问。
Servlet注册
xml代码:1
2
3
4
5
6
7
8
9
10
11<web-app>
...
<servlet>
<servlet-name>HelloWeb</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
...
</web-app>