中的 getQueryString 方法的有效配置
此规则将检测 Web 模块的 JSP 欢迎文件中的方法调用 request.getQueryString()
。 将标记这些调用,这样
用户就可以验证正确的用法并避免查询字符串的 null 值
。
在 WebSphere 中,方法 request.getQueryString()
将在以下情况下返回 null:直接调用欢迎文件、
通过转发调用欢迎文件
或者使用未在 URL 中包含欢迎文件名称的查询字符串。 例如,如果欢迎文件为 index.jsp,并且用户输入 URL(或
另一个系统组件转发到 URL):http://mycompany.com/?param=value
那么 WebSphere 将向 index.jsp 发送请求。
但是,index.jsp 中的调用 request.getQueryString() 将返回 null,而不是返回 param=value。
这仅适用于 web.xml 部署描述符中定义的欢迎文件。
用户可以采用三种方式在 JSP 欢迎文件中获取查询字符串值:
- 确保 URL 包含 JSP 欢迎文件名。 例如,
将 URL 从 http://mycompany.com/?param=value
更改为 http://mycompany.com/index.jsp?param=value。
此解决方案对转发至 JSP 的组件有效,
但对外部用户(可以直接输入 URL,例如,使用 Web 浏览器)
可直接访问的 JSP 欢迎文件
无效。
- 用户可以通过调用 request.getAttribute("javax.servlet.forward.query_string") 来获取查询字符串
而不能通过调用 request.getQueryString() 获取查询字符串。
- 用户可以将 Web 容器属性中的 WebSphere 定制属性 com.ibm.ws.webcontainer.provideQStringToWelcomeFile
设置为 true。
将此属性设置为 true
将更改容器的行为以将查询字符串
传递到欢迎文件。
有关更多信息,请参阅: