假设,我有一个拥有大量servlet的Web服务器.对于在这些servlet之间传递的信息,我正在设置会话和实例变量.
现在,如果有2个或更多用户向此服务器发送请求,那么会话变量会发生什么?它们对所有用户都是通用的,或者对于每个用户而言都是不同的.如果它们不同,那么服务器如何区分不同的用户?
还有一个类似的问题,如果有n用户访问特定的servlet,那么这个servlet只在第一个用户第一次访问它时实例化,或者是否为所有用户单独实例化?换句话说,实例变量会发生什么?
java multithreading servlets session-variables instance-variables
我在j2ee中将参数和属性读作两个不同的主题.但我无法意识到差异.任何人都可以澄清吗?
我们已经知道可以使用外部代理工具修改URL和FORM范围变量.
例如,如果有人提出这样的请求 - http:\\website\index.cfm?a=1&b=2
这样,可以将值添加到.cfm页面的URL范围.
类似地,有任何方法可以添加/更改值以在ColdFusion中请求范围而不在代码中明确设置它.
我问这个是因为我们在CFM页面中有一个这样的代码.
<cfset request.uploadFileDir = application.fileDir & "\upload" />
<cffile action="upload" accept="application/pdf" destination="#REQUEST.uploadFileDir#" filefield="brochure" nameconflict="makeunique"/>
Run Code Online (Sandbox Code Playgroud)
安全团队表示上述代码容易受到攻击,因为REQUESTJAVA中的范围可能被外部代理工具篡改/更改.由于ColdFusion是基于JAVA构建的,因此ColdFusion REQUEST也可能被外部代理工具篡改.这是正确的假设吗?JAVA和ColdFusion REQUEST范围相同吗?
最后一个主要问题 - 是否有任何方式对示例中上面提到的页面进行外部请求,修改REQUEST范围或更精确的REQUEST.uploadFileDir变量?
我试图调查特定HTTP请求发送到网站的频率.请求是一个POST,并且有一个名为的参数"_method".我可以在萤火虫网上看到这个.
我需要检查这个"_method"参数的值,所以按照文档http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access_Log_Valve我将以下内容添加到阀门的tomcat访问配置中
%{_method}r
Run Code Online (Sandbox Code Playgroud)
但它并没有出现在访问日志中.
我想知道是因为下划线?
注意,参数名称不能更改.
在 doPost 方法的顶部,我获取了一些我之前使用基本形式在 JSP 中设置的参数:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String serverName = request.getParameter("serverName");
String destFileName = request.getParameter("destFileName");
String userName = request.getParameter("userName");
String Message= request.getParameter("Message");
Run Code Online (Sandbox Code Playgroud)
在 doPost 方法的末尾,我使用 setAttribute 将它们添加回请求对象:
request.setAttribute("userName ", userName );
request.setAttribute("destFileName", destFileName);
request.setAttribute("serverName", serverName);
request.setAttribute("Message", Message);
request.getRequestDispatcher(page).forward(request, response);
Run Code Online (Sandbox Code Playgroud)
然后我再次通过 request.getParameter 在我的 JSP 中获取它们:
<% /** if the parameters are already in place, grab them **/
String destFileName = request.getParameter("destFileName");
String user = request.getParameter("user");
String serverName = request.getParameter("serverName");
String Message = request.getParameter("Message"); …Run Code Online (Sandbox Code Playgroud) 使用JSP时参数和属性之间有什么区别.
有没有办法将cookie添加到HttpServletRequest
请帮我..
我已经尝试过了。但它不起作用
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String cookie = request.getHeader(HttpHeader.AUTHORIZATION.asString());
HttpRequest httpRequest = new HttpRequest().setRequest(request);
String authCookie = String.format("%s=%s", session_id, cookie );
ServletRequest clientRequest = httpRequest.getRequest();
httpRequest.setCookies(authCookie );
Run Code Online (Sandbox Code Playgroud) java ×7
servlets ×5
jsp ×2
attributes ×1
coldfusion ×1
cookies ×1
parameters ×1
security ×1
tomcat ×1
tomcat-valve ×1
tomcat6 ×1
websecurity ×1