天道酬勤,学无止境

技术分享

RequestDispatcher 在 Tomcat 实例之间转发(RequestDispatcher forward between Tomcat instances)

问题 我有一个场景,我有单个入口点 Servlet 和进一步的 Servlet,请求被转发到进行繁重的处理。 我正在寻找分配此负载的选项,我想知道是否可以使用 Tomcat 或其他平台使用集群类型配置或类似配置在位于不同服务器上的 Servlet 之间转发请求。 我找到了一些关于集群 Servlets 和 Tomcat 的文档,但没有任何文档表明 Servlet 请求转发是否可行。 http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html 回答1 您可以将它分发到集群 Tomcat 环境中的 webapps 并将crossContext="true"添加到相关 webapps 的<Context>元素。 下面是 Tomcat 的上下文配置参考的摘录: crossContext 如果您希望在此应用程序中调用ServletContext.getContext()以成功返回此虚拟主机上运行的其他 Web 应用程序的请求调度程序,请设置为true 。 在安全意识环境中设置为false (默认值),以使getContext(

2021-06-21 12:19:11   java   tomcat   servlets

创建目录中多个文本文件的字数字典(Creating a dictionary of word count of multiple text files in a directory)

问题 我在 word_count_directory() 函数中使用 build_dict() 函数来创建目录中三个文件的字数统计字典。 我想创建三个字典(每个文件一次一个)并更新以前的字典。 我的代码创建了一个字典 (word_count),它同时组合了所有三个字典。 我想知道如何做到这一点? def build_dict(filename): f = open(filename, 'rU') words = f.read().split() count = {} for word in words: word = word.lower() if word not in count: count[word] = 1 else: count[word] += 1 f.close() return count ## print build_dict("C:\\Users\\Phil2040\\Desktop\\word_count\\news1.txt") import os import os.path def word_count_directory(directory): wordcount={} filelist=[os.path.join(directory,f) for f in os.listdir(directory)] for file in filelist

2021-06-21 12:19:04   python   dictionary

今天扩展在 iOS 8.1.2 上启动之前崩溃(Today Extension Crashes before launching on iOS 8.1.2)

问题 我一直在做一个今天的扩展,从提要下载文章并显示最新的。 整个过程在 iOS 8 上运行良好,在 iOS 8.1 上仍然运行,然后是 iOS 8.1.2,我们开始抱怨今天的扩展不再起作用。 我尝试在 iOS 8.1.2 设备上进行调试,在扩展甚至启动之前,它因以下错误而崩溃: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: <__NSConcreteUUID 0x174027280> 5AFB07AB-5DCD-46FE-8D07-44DE0F3789F2)' 我已经阅读了这篇关于在开发今天的扩展时经常发生的错误的文章:http://www.atomicbird.com/blog/ios-app-extension-tip 在他的帖子中,汤姆哈灵顿说: 在 iOS 8(和其他最新版本)中,在 Xcode 的构建设置中启用模块意味着您无需明确列出要使用的所有框架。 它们会被自动找到。 但是NotificationCenter.framework 不是这种情况,Today 扩展使用了它。 如果您从构建设置中删除它,您将不会收到任何构建警告或错误。 但是当你尝试加载扩展时

2021-06-21 12:18:58   ios   objective-c   ios8-today-widget   today-extension

无法获取页脚的汇编版本(Cannot get assembly version for footer)

问题 我正在使用这个问题中提到的自动构建版本控制(不是选择的答案,而是使用[assembly: AssemblyVersion("1.0.*")]技术的答案)。 我在 MVC 2 中的 Site.Master 文件的页脚中执行此操作。我执行此操作的代码如下: <div id="footer"> <a href="emailto:webmaster@foo.com">webmaster@foo.com</a> - Copyright © 2005-<%= DateTime.Today.Year.ToString() %>, foo LLC. All Rights Reserved. - Version: <%= Assembly.GetEntryAssembly().GetName().Version.ToString() %> </div> 我得到的例外是Object reference not set to an instance of an object因为GetEntryAssembly()返回NULL 。 我的其他选择也不起作用。 GetCallingAssembly()总是返回“4.0.0.0”, GetExecutingAssembly()总是返回“0.0.0.0”。 当我查看我的 DLL 时,一切都按照我的预期进行了版本控制。 但我不知道如何访问它以显示在我的页脚中!

2021-06-21 12:18:54   asp.net-mvc   visual-studio-2010   asp.net-mvc-2   versioning

框架矩形和对齐矩形的区别(Difference between Frame Rectangle and Alignment Rectangle)

问题 谁能解释一下尺寸检查器中的Frame Rectangle和Alignment Rectangle 有什么区别? 回答1 框架描述了在屏幕上放置视图的位置以及这些视图的大小。 布局视图时,约束使用称为对齐矩形的相关几何元素。 对齐矩形基于项目内容的呈现,自动布局使用对齐矩形而不是项目的框架矩形。 通过使用对齐矩形而不是框架,自动布局确保在布局期间正确考虑视图的边缘和中心等关键信息。 与框架不同,视图的对齐矩形应该仅限于核心视觉元素。 当新项目被绘制到视图上时,它的大小应该保持不受影响。 考虑图-1 的左侧。 它显示了一个带有阴影和徽章的视图。 在布局这个视图时,你希望自动布局专注于对齐核心元素——蓝色矩形——而不是装饰。 图 - 1:视图的对齐矩形(中心)严格指的是要对齐的核心视觉元素,没有任何修饰。 图 -1 中的中心图像突出显示了视图的对齐矩形。 该矩形不包括所有装饰,例如阴影和徽章。 这是您希望自动布局在其工作时考虑的视图部分。 图 -1 中右侧的矩形包含视图的所有可视元素。 它包含阴影和徽章。 如果在布局期间考虑这些装饰物,它们可能会破坏视图的对齐特征(如中心、底部和右侧)。 图 -2 自动布局仅在将其布局为在其父视图中居中时考虑此视图的对齐矩形。 阴影和徽章不影响其位置。 参考:链接 回答2 来自 Apple 的旧版自动布局指南: 布局在对齐矩形上运行

2021-06-21 12:18:47   xcode   interface-builder   xcode6

iPhone 将 NSUserDefaults 输入到 UITextField 中(iPhone inputting NSUserDefaults into a UITextField)

问题 我正在编写一个用户第一次运行它的程序 - 他们将不得不填写大约 10 个不同的 UITextFields。 我正在尝试保存字段,以便在程序的后续运行中,他们之前放置的任何内容都将显示在这些 UITextFields 中,因此不必重新输入它 - 除非他们想要编辑某些内容,在这种情况下他们仍然那个选项。 我想我已经找到了一个使用 NSUserDefaults 保存字符串的好方法,但现在我试图弄清楚如何让这些字段填充 UITextField - 它看起来不像 UILabels 那样容易。 这是我正在尝试的路线: // in the viewDidLoad portion. NSUserDefaults *userData = [NSUserDefaults standardUserDefaults]; //Hooks. NSString *placeHolderName = [userData stringForKey:@"name"]; txtName.text = @"%@", placeHolderName; 当我这样做时,它只是在文本字段中显示“%@”。 我希望 placeHolderName 持有的任何变量都自动放入该 UITextField 中。 这可能吗? 回答1 只需使用: txtName.text = placeHolderName; 或者 txtName

2021-06-21 12:18:43   iphone   uitextfield   nsuserdefaults

在 SAS 中导入时从列中删除空间(Remove space from columns while importing in SAS)

问题 我有一个 CSV 文件,我想在 SAS 中导入它,但 CSV 的列名有空格。 例如,其中一列是“国家/地区代码”。 我想删除删除空间并在该位置放置“_”,以便列名称成为 Country_Code。 任何帮助..我如何使用 SAS 代码做到这一点。 回答1 如果它是 CSV(逗号分隔),那么这里应该没有任何问题。 PROC IMPORT应该导入文件并为您更改名称。 它将标记包括空格在内的变量,但它应该进行更改。 (通过打开数据集并选择“视图”->“列名称”在 SAS 显示管理器中验证这一点)。 如果不是,那么您可以尝试(在 proc 之前)添加options validvarname=v7; . 如果当前设置为any ,那么技术上带有空格的名称是有效名称; 它可能会通过PROC IMPORT的检查。 如果您使用的是 Enterprise Guide,则默认情况下此设置为any 。

2021-06-21 12:18:37   csv   sas

列中按钮之间的垂直填充(vertical padding between buttons in a column)

问题 当我填充小部件时,它们都只是在 1 个大块中的同一帧上一起移动。 我需要能够将它们分开并在同一框架上的每个小部件之间添加填充。 这是我尝试过的代码的一部分: def CreateDisplay(self): self.mainwindow = tk.Tk() self.mainwindow.geometry("800x600") self.mainwindow.wm_title(self.constants.NAME) self.mainwindow.resizable(width=False, height=False) self.frame_main = tk.Frame(master = self.mainwindow) self.frame_title = tk.Frame(master = self.frame_main) self.frame_test = tk.Frame(master = self.frame_main) self.frame_recentscore = tk.Frame(master = self.frame_main) self.frame_help = tk.Frame(master = self.frame_main) self.frame_exit = tk.Frame(master = self.frame_main) self

2021-06-21 12:18:32   python   tkinter

如何为列表测试 MessageBodyWriter ?(How can I test a MessageBodyWriter for a List<Some>?)

问题 我有一个 JAX-RS 资源方法。 @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public List<Some> list() { final List<Some> list = get(); // list and each elements are ok. return list; } 问题是application/xml生成 500 没有任何特定的服务器(tomcat)日志。 application/json工作正常。 我为list每个元素检查 JAXB-marshaller。 我该如何调试? 如何测试List<Some>任何MessageBodyWriter ? 更新 此问题的根本原因(没有错误日志的 500)是错误的 JAXB 注释类。 我按照@peeskillet 的建议创建了一个ExceptionMapper<Exception> 。 @Provider public class MyExceptionMapper implements ExceptionMapper<Exception> { @Override public Response toResponse(final Exception exception) { exception

2021-06-21 12:18:27   jaxb   jax-rs

kotlin 中的 javascript 匿名对象(javascript anonymous object in kotlin)

问题 如何在 kotlin 中创建 JavaScript 匿名对象? 我想准确地创建这个对象来传递给 nodejs 应用程序 var header = {“content-type”:”text/plain” , “content-length” : 50 ...} 回答1 可能的解决方案: 1)带js功能: val header = js("({'content-type':'text/plain' , 'content-length' : 50 ...})") 注意:括号是强制性的 2) dynamic : val d: dynamic = object{} d["content-type"] = "text/plain" d["content-length"] = 50 3) 使用js + dynamic : val d = js("({})") d["content-type"] = "text/plain" d["content-length"] = 50 4) 带有本地声明: native class Object { nativeGetter fun get(prop: String): dynamic = noImpl nativeSetter fun set(prop: String, value: dynamic) {} } fun main(args

2021-06-21 12:18:17   kotlin   kotlin-js