我在不同端口的localhost上运行了2个网站.由于浏览器在发送cookie时不区分端口号,因此来自一个站点的表单身份验证票据将被发送到另一个站点
我该如何解决这个问题?我认为一个好的解决方案是更改表单身份验证票证或其中一个网站,但我不知道如何执行此操作.
有没有简单的方法将包含双字节字符的URL转换为绝对路径?
我问的原因是我想找到这样的资源:
URL url=getClass().getResources("/getresources/test.txt");
String path=url.toString();
File f=new File(path);
Run Code Online (Sandbox Code Playgroud)
程序找不到该文件.我知道我可以转换的所有空间的路径都包含'%20',但我真正的问题是我使用的是日语操作系统,当程序jar文件在日文文本的目录中时(例如デスクトップ)我得到的URL - 对目录名称进行编码,如下所示:
%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97
我想我可以得到UTF-8字节代码并将其转换为正确的字符来查找文件,但我想知道是否有更简单的方法来执行此操作.任何帮助将不胜感激.
NT
所以我一直在阅读Joshua Bloch撰写的Effective Java,并注意到我在工作中遇到的两点.
第1点: 制作setter方法以使代码更具可读性.在他的例子中,我们有一个带有一个非常庞大的构造函数的类.当人们实例化这个类时,很难说出所有参数都在发生什么.因此,他建议制作一个简约的构造函数,并为所有其他选项设置setter方法,因此不是......
MyClass clazz = new MyClass(a,b,c,d,e,f,g);
你会写....
MyClass clazz = new MyClass(a,b,c);
clazz.setDitto(d);
clazz.setEcho(E);
clazz.setFunzies(F);
clazz.setGumballs(克);
作为可读代码的巨大支持者,我非常喜欢.
第2点: 一般来说,他建议使用不可变类.他深入研究了为什么不可变类比拥有可能处于几个不同状态的类要好得多.我可以肯定地说他把这个想法卖给了我,我迫不及待地想把我从现在开始写的大部分课程变成一成不变的,除了....
当你有一个带有巨大构造函数的不可变类时会发生什么?你不能为它制作setter方法; 这将破坏不变性.我试着浏览本书的其余部分,但我不认为他为此提供了解决方案.
有可能使用一次性使用setter方法,但只是一个setter方法可用于一个被认为是不变的类的事实令人沮丧,即使它只是在你后续尝试时抛出异常.
有没有人对如何处理这个问题有任何好的想法?我目前正在处理这个问题,我有一个带有巨大构造函数的Immutable类,我想重构一些更易读的东西,而不会破坏不变性.
我觉得浪费时间,每次我需要输入一个字符串,我必须手动编辑strings.xml文件.我希望能够理想地做的是让Eclipse弹出一个对话框,让我指定资源的名称及其值.然后Eclipse将在strings.xml中生成代码并将正确的引用粘贴到光标位置的字符串.
这样的设施存在吗?
考虑以下代码:
template <int N>
struct X
{
friend void f(X *) {}
};
int main()
{
f((X<0> *)0); // Error?
}
Run Code Online (Sandbox Code Playgroud)
编译器似乎非常不同意.(MSVC08/10表示否,GCC <4.5表示是,但4.5表示否,sun 5.1表示是,intel 11.1表示也是,但是comeau说不(两者都是EDG)).
根据"C++模板 - 完整指南":
...假设一个涉及查找关联类中的朋友的调用实际上导致该类被实例化......虽然这是C++标准编写人员的明确意图,但标准中没有明确规定.
我找不到标准中的相关部分.任何参考?
考虑这种变化:
template <int N>
struct X
{
template <int M>
friend void f(X<M> *) {}
};
template <>
struct X<0>
{
};
int main()
{
X<1>();
f((X<0> *)0); // Error?
}
Run Code Online (Sandbox Code Playgroud)
这里的关键问题是注入的可行功能是否X<1>应该在ADL期间可见X<0>?它们是否相关?上面提到的所有编译器都接受此代码,但Comeau仅在宽松模式下接受它.不确定标准对此有何看法.
你对此有何看法?
如何使用Struts2 gzip ajax响应?我试图创建一个过滤器,但它不起作用.在客户端我使用jQuery和我期待的ajax响应是在json中.
这是我在服务器上使用的代码:
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gz = new GZIPOutputStream(out);
gz.write(json.getBytes());
gz.close();
Run Code Online (Sandbox Code Playgroud)
我正在将响应重定向到struts.xml中定义的虚拟jsp页面.
我之所以要重新gzip数据是因为我必须将一个相对较大的json发送回客户端.
任何参考提供将不胜感激.
谢谢.
这是一个后续问题,以这
我应该坚持使用Try/Catch/Finally构造,还是使用Using构造?
Try/Catch/Finally的示例代码:
Dim oRequest As WebRequest
Dim oResponse As HttpWebResponse = Nothing
Dim dataStream As Stream = Nothing
Dim reader As StreamReader = Nothing
Dim responseFromServer As String
Try
sNewCustomerURL = NewCustomerQueryStringPrepare()
'make the call to the webservice to add a new customer
oRequest = WebRequest.Create(sNewCustomerURL)
oRequest = CType(oRequesC, HttpWebRequest)
oRequest.Method = "GET"
oResponse = CType(oRequest.GetResponse(), HttpWebResponse)
dataStream = oResponse.GetResponseStream()
reader = New StreamReader(dataStream)
responseFromServer = reader.ReadToEnd()
Dim xml As New XmlDocument()
xml.LoadXml(responseFromServer)
Dim node As XmlNodeList = …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以将视频通过asp.net流式传输到普通网页和移动设备?我尝试了以下但是它在索尼爱立信K810i中无效.当我在浏览器中尝试它时,我可以看到剪辑(不知道它是否正在流式传输).
HTML:
<object type="video/3gpp"
data="handlers/FileHandler.ashx"
id="player"
width="176"
height="148"
autoplay="true"></object>
Run Code Online (Sandbox Code Playgroud)
FileHandler.ashx(在ASP.NET中流式传输文件的最佳方式):
public void ProcessRequest (HttpContext context) {
string path = "~/files/do.3gp";
string localPath = context.Server.MapPath(path);
if (!File.Exists(localPath))
{
return;
}
// get info about contenttype etc
FileInfo fileInfo = new FileInfo(localPath);
int len = (int)fileInfo.Length;
context.Response.AppendHeader("content-length", len.ToString());
context.Response.ContentType = FileHelper.GetMimeType(fileInfo.Name); // returns video/3gpp
// stream file
byte[] buffer = new byte[1 << 16]; // 64kb
int bytesRead = 0;
using(var file = File.Open(localPath, FileMode.Open))
{
while((bytesRead = file.Read(buffer, 0, …Run Code Online (Sandbox Code Playgroud) 在使用--track(或保留默认值,或--notrack)创建分支后,您希望提醒您分支正在跟踪的内容.除了搜索.git/config文件之外,还有一种方法可以显示分支正在跟踪的内容吗?
我已经安装了所有的东西,就像我被Android网站告知的那样,以及我创建自己的avd后我不断得到的东西
"Failed to start emulator: Cannot run program "/home/christopher/Desktop/android-sdk-linux_86//tools/emulator": java.io.IOException: error=2, No such file or directory".
Run Code Online (Sandbox Code Playgroud)
任何人有任何想法??? 如果有帮助我正在运行linux.