我创建了一个简单的Java/JSP Web应用程序并添加了一个基本的Scala servlet.一切正常,我在下面包含了Scala文件和web.xml.如何修改我的小"培训师"servlet,以便查询MySql表并生成HTML <table> ... </ table>.顺便说一下,我稍后会看看Lift.目前,我的计划是在现有的Web应用程序中添加几个新的Scala servlet.
ScalaTrainer.scala
package com.mdm.h4 import javax.servlet.http.{HttpServlet, HttpServletRequest => HSReq, HttpServletResponse => HSResp} class ScalaTrainer extends HttpServlet { def html = <html> <head> <title>Hello Scala</title> </head> <body> <p style="text-align: center">This is 100% pure Scala.</p> <p>It's now {currentDate} </p> <p>My name is {name} and I'm learning {language}. </p> </body> </html> def name = "Mike" def language = "Scala" def currentDate = java.util.Calendar.getInstance().getTime() override def doGet(req: HSReq, resp: HSResp) { resp.getWriter().print(html) } …
我想使用String作为分隔符将字符串拆分为String [].
String delimit = "[break]";
String[] tokens = myString.Split(delimit);
Run Code Online (Sandbox Code Playgroud)
但上述方法仅适用于char作为分隔符.
任何接受者?
我知道你可以这样做:
if( System.IO.File.Exists(
@"C:\INetPub\MVCWebsite\Content\Images\image.jpg") ) { ... }
Run Code Online (Sandbox Code Playgroud)
你可以这样做来引用MVC中的文件:
Url.Content("~/Content/Images/image.jpg")
Run Code Online (Sandbox Code Playgroud)
那么有没有办法相对检查"〜/ Content/Images/image.jpg"是否存在(在MVC中?)?
会话过期后向用户显示消息的最佳方法是什么?到那时,用户应该注销并重定向到开始页面.我可以使用javascript将用户重定向到起始页面.我只是想在开始页面上显示一条消息.
如何在OSX 10.5及更高版本上检测USB游戏手柄上的按键?
我无法绕过那个荒谬复杂的HID管理器(尽管显然它已经用10.5简化了),Apple的代码示例有数千行代码需要几天的时间来理解和隔离我需要的内容,所以我如果有人为这个孤立的问题发布一个简单,完全编码的解决方案,我将不胜感激.
编辑:到目前为止,所有答案都是链接到各种HID设备的源代码或半模糊库,这将需要比我想投入更多的研究时间.我正在开始获得一个实际的代码片段来解决这个简单的问题(使用外部库或不使用).
EDIT POS BOUNTY:感谢大家的帮助; 但不幸的是,系统自动选择的答案对我不起作用,无法弄清楚原因; 并且作者尚未回复我的评论.任何见解都会受到赞赏,但在找到修复程序之前,任何寻找有关此主题的资源的人都应该用一点点盐来回答这个问题.
我一直在做阻断,相较于UDP非阻塞套接字大量的阅读,但我有一个很难理解一个比其他的优点.互联网上的绝大多数评论似乎都表明非阻塞性更好,但对于哪些情况下它们会更好,并不是非常具体,而且我发现没有任何参考资料,只要阻止是首选.我对这个问题的希望是,社区可能会对这个问题有所启发.
关于我自己的问题集的一些背景知识,以便可以专门应用答案以及问题的一般性质.我有一个udp服务器,我写的将在本地局域网上有40个连接,从而可以流入恒定的数据流.数据速率将达到250MB/s avg,峰值达到500 + Mb/s,平均值数据报大小约为1400字节.数据报的处理很轻,但由于大量的msgs效率和性能是高优先级,以防止丢包.
因为我无法真正找到类似于这个特定问题集的内容的任何上下文信息,所以我必须根据我能够收集的关于阻塞与非阻塞的内容进行一些猜测.我将用我目前的假设结束这一点,然后打开你的输入.基本上,因为这将是每个连接上几乎恒定的数据包流,我认为阻塞套接字会更好,因为任何recv函数实际花费阻塞的时间与使用事件相比非常非常小基于模型,在异步模式下会有大量的触发器.我觉得我的真正的问题集很可能是我计划用于从套接字读取的40个线程的优先级管理...确保每个获得它们的cpu时间份额.我的方法和想法可能不正确,所以我希望并且如果社区可以帮助在这个问题上有所启发,我将非常感激.
问候,吉姆.
〜编辑〜
而我担心线程设计将如何影响/整合阻塞/非阻塞问题.我真的最关心的是如何从我的问题集的角度来看待阻止/非阻塞.如果线程确实成为一个问题,我可以使用线程池解决方案.
〜EDIT2〜
首先,想说你到目前为止的回答.你们中的一些人已经提到过具有这么多套接字的单线程/套接字模型可能是一个坏主意,我承认我自己是解决方案.然而,在nikolai响应中的一个链接中,作者讨论了一个单线程/套接字模型,并链接到一个非常有趣的论文,我认为我将链接到这里,因为它消除了我对线程与事件有关的很多神话基于模型:为什么事件是一个坏主意
请享用.
我正在查看一些代码,其中类级别注释用于向某些类"添加"属性,稍后使用反射访问和使用这些属性.
我的问题:何时使用注释将新字段添加到类中,而不是使用接口.这有什么好处和缺点?
使用Ada(GNAT):我需要确定给定值的10的幂.最明显的方法是使用对数; 但是无法编译.
with Ada.Numerics.Generic_Elementary_Functions;
procedure F(Value : in Float) is
The_Log : Integer := 0;
begin
The_Log := Integer(Log(Value, 10));
G(Value, The_Log);
end;
Run Code Online (Sandbox Code Playgroud)
错误:
那么我尝试引用包,但也失败了:
with Ada.Numerics.Generic_Elementary_Functions;
procedure F(Value : in Float) is
The_Log : Integer := 0;
package Float_Functions is new Ada.Numerics.Generic_Elementary_Functions (Float);
begin
The_Log := Integer(Float_Functions.Log(Value, 10));
G(Value, The_Log);
end;
Run Code Online (Sandbox Code Playgroud)
错误:
当我通过EJB接口查询实体时,在控制台下它没关系,但是从Swing切换到查询会抛出此异常.
例外:
java.rmi.UnmarshalException: failed to unmarshal MY_ENTITY****; nested exception is:
java.io.StreamCorruptedException: invalid type code: 00
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:219)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
at ***.****_6ndxy4_EOImpl_922_WLStub.getProductInformation(Unknown Source)
at MY_CLASS****.getProductInformation(*****.java:460)
at ******$5.run(OrigBlotter.java:318)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.StreamCorruptedException: invalid type code: 00
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1642)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:217)
Run Code Online (Sandbox Code Playgroud) 我从某个源获取XML字符串.我创建一个DOMDocument对象并将XML字符串加载到其中(使用DOMDocument :: loadXML()).然后我使用各种方法(例如DOMXPath)浏览XML文档,直到找到我想要的节点(当然是DOMNode).
此节点有一堆的后裔,我想采取整个节点(及其后代),并从它创建一个新的DOMDocument对象.我不知道该怎么做; 我尝试创建一个新的DOMDocument并使用DOMDocument :: importNode(),但这似乎只有在DOMDocument中已经有一个主文档节点时才有效,在这种情况下它会将导入的节点作为主文档节点的子节点附加,这不是我想要的 - 我希望导入的节点成为DOMDocument主节点.
也许有一种更简单的方法(即更简单的方法来提取原始XML的一部分,我想将其转换为自己的文档),但我不知道.我对DOMDocument比较新,虽然我已经使用了SimpleXMLElement足以让它烦恼.