我正在运行Tomcat 6来提供多个Web应用程序,其中大部分是面向公众的.但是我想限制只访问一个 webapp,只允许来自localhost的连接.
我可以使用context.xml中的valve 来限制对所有 webapps的访问,如下所述:
但我无法弄清楚如何限制每个应用程序的访问.有没有办法用我的应用程序的web.xml执行此操作?或者通过向context.xml添加其他规则?
谢谢,
-B
$ cp /var/lib/tomcat6/conf/context.xml \
/var/lib/tomcat6/conf/Catalina/localhost/my-app-name.xml
$ cat /var/lib/tomcat6/conf/Catalina/localhost/my-app-name.xml
<Context>
<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="localhost"/>
... {as previously} ...
</Context>
Run Code Online (Sandbox Code Playgroud) 我的网站有1,2,3页和js文件A,B,C,D,E,X和Y.以下概述了每个页面包含的文件:
Page 1: A
Page 2: A, B, C, D, E
Page 3, A, B, C, X, Y
Run Code Online (Sandbox Code Playgroud)
现在,所有这些文件都是单独发送的,第一次下载它们需要一段时间.我知道将它们压缩成一个文件会缩短传输时间,所以这就是我的计划.但是在这种情况下,我不想将它们全部压缩到一个文件中,因为第3页可以通过已经缓存A,B和C来从第2页中受益(如果有一个大的ABCDE文件,这是不可能的)一个很大的ABCXY文件).是的,用户将在典型使用中切换2到3.
但是这里的答案不仅仅是"制作一个ABC文件,一个DE文件和一个XY文件并完成",因为我所描述的情况只是一个更大问题的一部分.
人们通常如何处理在一个网站上组合JS文件,其中一些页面共享一些文件?
注1:所有文件都是几百到几千行的顺序.
注意:如果由于缺乏某些细节而无法回答问题,请解释为何细节问题以及如何改变您的答案!
可能重复:
在C#中将int强制转换为枚举
我从数据库中获取一个int值,并希望将值转换为枚举变量.在99.9%的情况下,int将匹配枚举声明中的一个值
public enum eOrderType {
Submitted = 1,
Ordered = 2,
InReview = 3,
Sold = 4,
...
}
eOrderType orderType = (eOrderType) FetchIntFromDb();
Run Code Online (Sandbox Code Playgroud)
在边缘情况下,该值将不匹配(无论是数据损坏还是某人手动进入并弄乱数据).
我可以使用switch语句捕获default并修复情况,但感觉不对.必须有一个更优雅的解决方案.
有任何想法吗?
有没有办法注册一个方法,以便在用户结束"文本选择模式"时自动调用它(从而将选择复制到剪贴板)?
我有一个我在一些.h文件中声明的枚举:
typedef enum {
NONE,
ONE,
TWO,
THREE
} MYENUM;
Run Code Online (Sandbox Code Playgroud)
在一个单独的.cpp我不能这样做:
extern enum MYENUM; //works
extern MYENUM TWO; //makes sence, TWO is not an INSTANCE of MYENUM...
Run Code Online (Sandbox Code Playgroud)
怎么会这样做而不包括枚举枚举的整个标题?
我想提前道歉,因为这不是一个很好的问题.
我有一个服务器应用程序在专用的Windows服务器上作为服务运行.非常随机,这个应用程序崩溃,并没有提示导致崩溃的原因.
当它崩溃时,事件日志有一个条目表明应用程序失败,但没有提供原因的线索.它还提供了有关故障模块的一些信息,但它似乎不太可靠,因为故障模块通常在每次崩溃时都不同.例如,最新的说它是ntdll,前一个说它是libmysql,之前的那个说它是netsomething,依此类推.
应用程序中的每个线程都包含在try/catch (...)(从异常处理程序抛出的任何东西/未特别捕获),__try/__except(结构化异常)和try/catch(特定C++异常)中.应用程序使用/ EHa编译,因此catch all也将捕获结构化异常.
所有这些异常处理程序都做同样的事情.首先,创建崩溃转储.其次,将一个条目记录到磁盘上的新文件中.第三,在应用程序日志中记录一个条目.在这些崩溃的情况下,没有发生这种情况.最底层的异常处理程序(the try/catch (...))什么都不做,它只是终止线程.主应用程序线程处于睡眠状态,无法抛出异常.
应用程序日志文件只是停止记录.不久之后,监视服务器的进程注意到它不再响应,发送警报并再次启动它.如果服务器监视器注意到服务器仍在运行,但只是没有响应,则需要转储该进程并报告此情况,但这不会发生.
除了未捕获的异常之外,我可以提出的这种行为的唯一另一个原因是呼叫exit或类似.搜索代码不会调用任何可以终止进程的函数.我还确保程序没有正常终止(即服务管理器的停止请求).
我们已经尝试使用windbg附加运行它(没有机会使用Visual Studio,开销太高),但是当崩溃发生时它没有报告任何内容.
是什么导致应用程序崩溃?我们开始耗尽选项,并认为它可能是硬件故障,但这对我来说似乎不太可能.
我想使用正则表达式隐藏IP地址的最后两个部分,问题是asterix(*)必须与这些部分的长度匹配.
例如:10.101.12.100应该重新格式化10.101.**.***
这是我正在使用的代码:
echo preg_replace('!(\d+).(\d+).\d+.\d+!s', '${1}.${2}.***.***', "10.101.12.100");
// Return: 10.101.***.***
Run Code Online (Sandbox Code Playgroud)
这可能使用正则表达式吗?
PS:我知道我可以使用它来打破它explode('.', ...),str_repeat('*', strlen(...))但我找到preg_replace了一个更清洁的解决方案.我正在寻找一个"oneliner"解决方案.
您好我想在datagrid view.i中添加复选框已写入测试代码但失败.我想要做的是在datagrid中添加一个CheckBox,其中我添加的项目是select all并选择none选项.
我不知道怎么做,所以我需要一些帮助.我很困惑,如果我们动态添加,我们将如何跟踪选中或未选中的复选框.
我有当前的代码
public partial class MainWindow : Window
{
List<checkedBoxIte> item = new List<checkedBoxIte>();
public MainWindow()
{
InitializeComponent();
for (int i = 0; i < 5; i++)
{
checkedBoxIte ite = new checkedBoxIte();
ite.sr = i.ToString();
ite.ch = new CheckBox();
item.Add(ite);
}
dataGrid1.ItemsSource = item
}
}
public class checkedBoxIte
{
public string sr {get;set;}
public CheckBox ch { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但我知道添加像这样的复选框是最愚蠢的事情,但它只是一个尝试上面的类包含两个属性,稍后它会有更多,但所有将是字符串
我在Rails应用程序中有一个搜索表单,生成以下HTML
<form action="/users" method="get">
<fieldset>
Search by name:
<input class="text" id="query" name="query" type="text" value="" />
</fieldset>
<input class="submit" src="/images/buttons/search.png?1296324322" type="image" />
</form>
Run Code Online (Sandbox Code Playgroud)
当我提交表单,网址具有x和y除查询参数query一个形式:
http://.../users?query=test&x=8&y=21
Run Code Online (Sandbox Code Playgroud)
这些参数来自哪里?
real = 107ms
cpu = 141ms
api = 388ms
overhead = 1ms
RPC Total: 63ms (388ms api)
Grand Total: 107ms (530ms cpu + api)
Run Code Online (Sandbox Code Playgroud)
我认为我理解开销:它给出了写日志所花费的时间,不包括在memcache中存储日志所花费的时间.
我对其他数字感到困惑: