context.getattribute
时间: 2023-05-03 15:00:30 浏览: 56
context.getAttribute是一个Java Servlet API中的方法,用于获取ServletContext对象中存储的一个特定属性的值。它需要一个属性名称作为参数,并返回一个对象,可以通过强制类型转换为目标类型。
相关问题
public class PrivilegeTag extends SimpleTagSupport { @Override public void doTag() throws JspException, IOException { PageContext context = (PageContext) this.getJspContext(); HttpServletRequest request = (HttpServletRequest) context.getRequest(); HttpServletResponse response = (HttpServletResponse) context.getResponse(); User user = (User) context.getSession().getAttribute("user"); if (user == null) { response.sendRedirect(request.getContextPath() + "/client/error/privilege.jsp"); } }什么意思
这是一个 Java 类,用于在 JSP 页面中检查用户是否有特定的权限。它继承了 SimpleTagSupport 类,该类实现了 Tag 接口,因此可以在 JSP 页面中使用自定义标签。在 doTag() 方法中,该类通过 PageContext 获取了 HttpServletRequest 和 HttpServletResponse 对象,然后检查用户是否已经登录。如果用户未登录,则通过 HttpServletResponse 的 sendRedirect() 方法将请求重定向到指定的页面。这个类的作用是在 JSP 页面中判断用户是否有权限访问某些内容或执行某些操作。
下面试web.xm1中的片段<context-par am> <par am-name>user</param-name><paran-value>test</param-value> </context-param> 在servlet中要得到上面的参数,下()表达式是正确的。 (选择一项) A : getServletConfig().getAttribute("user");B: getServletContext().getAttribute(" user");c: getServletConfig(.getInitParameter("user");D: getServletContext().getInitParameter("user");
正确选项是 D:
```
getServletContext().getInitParameter("user");
```
解析:
在 web.xml 中使用 `<context-param>` 标签可以定义全局的初始化参数,这些参数可以被整个 Web 应用程序共享。在 Servlet 中可以通过 ServletContext 对象或者 ServletConfig 对象来获取初始化参数的值。
A 选项中,`getServletConfig().getAttribute("user")` 获取的是 ServletConfig 对象中的属性值,而不是初始化参数的值。因此,该表达式不正确。
B 选项中,`getServletContext().getAttribute("user")` 获取的是 ServletContext 对象中的属性值,而不是初始化参数的值。因此,该表达式不正确。
C 选项中,`getServletConfig().getInitParameter("user")` 获取的是 ServletConfig 对象中的初始化参数值,而不是全局的初始化参数值。因此,该表达式不正确。
D 选项中,`getServletContext().getInitParameter("user")` 获取的是全局的初始化参数值,符合题目要求,因此该表达式是正确的。