java - 由于这个问题,我是否必须更改我的 Web 应用程序结构?
问题描述
我正在使用表单基本身份验证,登录过程运行良好。
登录和错误页面都是 index.jsp,我确实有另一个调用页面本身的 post 方法,但是当尝试从 jquery ajax 数据参数中读取参数时,返回 null 值。
如果参数是在 url 旁边发送或使用标头发送的,我可以读取参数,例如:
$.ajax({
type: "POST",
url: "/?data=data", // Ok
headers: {xdata: data}, // Ok
data: {fail: "data"}, // fails
这是 index.jsp 中用于读取参数的代码:
if (request.getMethod().equalsIgnoreCase("post")) {
System.out.prinltn("data from url "
+ request.getParameter("data")); // parameter is printed
System.out.prinltn("data from header: "
+ request.getHeader("xdata")); // parameter is printed
System.out.prinltn("data from fail: "
+ request.getParameter("fail")); // null is printed here
return;
}
所有资源都在 web.xml 中得到保护,这就是事情变得有趣的地方:
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
如果将模式更改为例如 <url-pattern>/other/*</url-pattern>,则会打印失败参数!。那么,有没有办法在不更改 web.xml 中的 url-pattern 的情况下将数据发布到 index.jsp 并使事情正常工作?
解决方案
推荐阅读
- vb.net - 使用列表项的水晶报表
- flutter - 当属性在 dart 中可能有两种类型时如何解析 json
- jquery - 通过jQuery将类添加到另一个元素时删除一个元素上的类
- reactjs - React - 导入 MP3 文件
- python - 如何更改python的PATH?
- reactjs - 子组件和父组件之间的反应事件处理
- mysql - 记录后立即访问存储在数据库表中的“最新”记录
- amazon-web-services - 如何让AWS aurora Mysql变成可写实例
- java - Box Java SDK - 404 File Not Found on public available document
- loops - SwiftUI FetchRequest 和 onReceive 导致无限循环