ServletConfig
在servlet运行的时候,需要获取到当前servlet的配置信息(设置编码格式),可以使用ServletConfig来进行获取,ServletConfig是由tomcat容器进行创建 ,当servlet实例化的时候,就会把当前servlet的一些配置信息放入到ServletConfig对象里
- 获取servlet ServletConfig对象
在init()方法有这个对象可以使用
在servlet 其它的方法中 获取该对象:this.getServletConfig(); - 设置Servlet的配置信息
可以在xml文件中设置,以键值对的形式存储
- 获取配置信息
获取单个
获取全部
ServletContext
项目在tomcat容器运行时,tomcat 会创建一个唯一的全局上下文的对象 就是ServletContext,
这个对象主要用于给整个web项目来设置配置信息,所有的servlet都能来获取到这个配置
ServletContext 可以对应多个servlet
- 获取全局上下文对象
req.getServletContext(); 通过request 来进行获取 - 设置整个web项目的配置信息
context-param是于servlet平级的
- 获取配置信息
获取全部
作用域对象
1.作用域对象:也就是有作用域(在一定的范围)的对象,在一定的范围之内可以存值 取值,可以使不同的servlet之间进行数据的传递
2.servlet中的作用域对象 request servletContext对象
3.request作用范围是一次请求,在这次请求内都可以进数据的传递,域的范围比较小
req.getRequestDispatcher(“userServlet”).forward(req,resp);
这种方式进行页面跳转的时候 request 作用域下的值都可以获取到
servletContext 在整个web项目之内都可以进行数据的传递 域范围比较大
4.三个方法
setAttribute(“键”,”值”); 以键值对来进行设置值
getAttribute(); 通过键来获取值(获取的是setAttrubute设置的值,获取表单或href里参数的值时使用.getParameter(“参数名”)来获取)
removeAttribute(); 通过键来删除值
转发和重定向
转发和重定向都可以实现页面的跳转
- 转发语法: req.getRequestDispatcher(“需要转发的路径”).forward(req,resp);
注意:路径可以是页面路径也可以是servlet路径。.forward(req,resp)如果不写的化无法跳转 - 重定向语法:resp.sendRedirect(“路径”);
注意:路径可以是页面路径也可以是servlet路径
转发 | 重定向 |
---|---|
发生在服务器 | 发生在客户端 |
发生在一次请求里 | 发生在多次请求中 |
url地址不会改变 | url地址会发生改变 |
可携带参数 | 一般不携带参数 |
无法实现由项目A跳转到项目B | 可以实现项目A跳转到项目B |
多用于查询(因为url不变,查询到结果后,刷新页面返回查询前页面) | 多用于增删改 |
Servlet3.0注解
使用注解可以减少xml文件中的配置,即写好注解后就无需在xml里配置servlet的servlet,servlet-mapping等内容,servlet3.0的版本才能使用这个注解 java1.5 的版本以后支持注解
//简写的servlet注解
//@WebServlet("/studentservlet")
//注解中可以携带参数
/*@WebServlet(name = "studentservlet" ,urlPatterns = "/studentservlet",
initParams = {
@WebInitParam(name="uname",value = "zs")
})*/
@WebServlet(name = "studentservlet" ,urlPatterns = "/studentservlet")
xml
xml是一个可扩展标语言,即是自定义标签。主要用于存储配置信息。框架的配置信息都是使用xml进行编写的。
xml与html 区别:
- xml 主要用于做编写配置信息 ,标签的自定义的,但是在实际使用中会给其约束dtd
- html 主要用与做页面的展示,使用的是预定义的标签
编写规则:
- 根节点只能有一个
- 标签都是成对 出现 有单个标签
- xml中是严格区别大小写
- 标签命名 不要有特殊符号 尽量使用纯英文
- 标签必须进行正确的嵌套
解析xml
常用的解析方式: dom,第三方 (dom4j sax xpath)使用的都是dom解析
解析如下xml文件
得到docment 对象
查询
增加
存储
删除
dom4j对xml进行解析
得到document对象
查询
增加
存储
删除