将HttpServletRequest和HttpServletResponse临时存储为HttpServlet的两个字段(见下文)是一种好的做法/安全吗?如果没有,为什么?
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet
{
private HttpServletRequest req;
private HttpServletResponse resp;
@Override
protected void doPost(
HttpServletRequest req,
HttpServletResponse resp
)
throws ServletException, IOException
{
try
{
this.req=req;
this.resp=resp;
do1();
do2();
}
finally
{
this.req=null;
this.resp=null;
}
}
private void do1() throws ServletException, IOException
{
//use req resp
}
private void do2() throws ServletException, IOException
{
//use req resp
}
}
Run Code Online (Sandbox Code Playgroud)
或者我应该调用类似的东西:
do1(req,resp); …Run Code Online (Sandbox Code Playgroud) 我正在学习Postscript我正在尝试创建一个方法来绘制垂直渐变.
这是我的代码:
%!PS-Adobe-3.0
%%%%%%%%%%%%%%%%%%%%%%%
% draw a RECTANGLE
/Rect {
/h exch def % height
/w exch def % width
w 0 rlineto
0 h rlineto
-1.0 w mul 0 rlineto
0 -1.0 h mul rlineto
} def
%%%%%%%%%%%%%%%%%%%%%%%
% draw a Gradient
/VGrad {
/h exch def % height
/w exch def % width
/c2 exch def %gray-end
/c1 exch def %gray-start
/index 0.0 def %loop-index
0 1 h { %loop over height
gsave
c2 …Run Code Online (Sandbox Code Playgroud) (我的问题与Force Makefile在构建目标之前执行脚本不同)
我有以下Makefile:
.PHONY: dump_params all
all: tmpA
tmpA: tmpB tmpC dump_params
cat $(filter tmp%,$^) > $@
tmpB: dump_params
touch $@
tmpC: dump_params
touch $@
dump_params:
echo "Makefile was run." >> config.txt
Run Code Online (Sandbox Code Playgroud)
目标dump_params我想在每次调用新目标时创建/附加文件(以跟踪所用工具的版本).但是,当我打电话的时候
make tmpA
Run Code Online (Sandbox Code Playgroud)
所有目标都是从头开始构建的
$ make tmpA
echo "Makefile was run " >> config.txt
touch tmpB
touch tmpC
cat tmpB tmpC > tmpA
$ make tmpA
echo "Makefile was run." >> config.txt
touch tmpB
touch tmpC
cat tmpB tmpC > tmpA
Run Code Online (Sandbox Code Playgroud)
如何防止Make重新构建所有内容,因为该目标是'dump_params'?有没有另一种方法来创建这种日志文件?
编辑:我正在使用并行make(选项-j).定义宏以在语句部分中创建文件不是一种选择.
我正在学习mongodb的BSON java库,我正在尝试将org.bson.BSONObject转换为XML,以便使用XSLT样式表对其进行转换.
我可以在Mongodb的BSONObject中找到哪种类型的Java类型?当然会有:
还有什么?BigDecimal和BigInteger?boolean,int,long,double?时间戳......等......
谢谢,
皮埃尔
我的程序看起来像这样:
class Prog
{
BufferedImage offscreen;
KindOfDatabase db;
MyThread thread;
class MyThread extends Thread
{
volatile boolean abort=false;
long lastUpdated;
public void run()
{
try
{
KindOfCursor c = db.iterator();
while(c.getNext())
{
if(abort) break;
//fill a histogram with the data,
// calls SwingUtilities.invokeAndWait every 500ms to
//do something with offscreen and update a JPanel
}
catch(Exception err)
{
err.printStackTrace();
}
finally
{
c.close();
}
}
}
void stopThread()
{
if(thread!=null)
{
thread.abort=true;
thread.join();
thread=null;
}
}
void startThread()
{
stopThread(); …Run Code Online (Sandbox Code Playgroud) 我是Erlang的新手,我正在阅读Joe Armstrong的书,"并发编程"一章.我正在尝试运行一个进程列表来计算一个数字是否是一个素数(天真的方法).但我的代码运行就像没有进程一样.两种方法具有相同的持续时间.我哪里错了?
shell.erl:
c(prime).
%a list of primes
NUMS=[102950143,102950143,102950143,102950143,102950143].
%time start
NOW1=now().
io:fwrite("Monothread~n").
%for each number test if it is a prime
lists:foreach( fun(N)->
RESULT=prime:is_prime(N),
io:fwrite("Result N=~p ~n",[RESULT])
end, NUMS).
%display the duration
io:fwrite("Duration N=~p ~n",[timer:now_diff(now(),NOW1)/1.0e6]).
%time start
NOW2=now().
io:fwrite("Multithread~n").
%for each number, spawn a new process and test if it is a prime
lists:foreach( fun(N)->ProcId = prime:start(),
io:fwrite("Calculating : procId=~p N=~p ~n",[ProcId,N]),
RESULT=prime:is_prime(ProcId,N),
io:fwrite("Result N=~p ~n",[RESULT])
end, NUMS).
%display the duration
io:fwrite("Duration N=~p ~n",[timer:now_diff(now(),NOW2)/1.0e6]).
halt().
Run Code Online (Sandbox Code Playgroud)
文件prime.erl:
-module(prime).
-export([start/0,is_prime/1,is_prime/2]).
%run …Run Code Online (Sandbox Code Playgroud) 我为eclipse(knime)写了一个插件.但是eclipse生成的jar不包含任何类:
jar tvf plugins/fr.inserm.umr915.knime4ngs.nodes_1.0.0.jar
0 Thu May 19 08:45:26 CEST 2011 META-INF/
2543 Thu May 19 08:45:24 CEST 2011 META-INF/MANIFEST.MF
7941 Thu May 19 08:45:24 CEST 2011 plugin.xml
Run Code Online (Sandbox Code Playgroud)
这是我的清单的内容:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Node extension for KNIME Workbench
Bundle-SymbolicName: fr.inserm.umr915.knime4ngs.nodes;singleton:=true
Bundle-Version: 1.0.0
Bundle-Vendor: Pierre
Require-Bundle: org.eclipse.core.runtime,
org.knime.workbench.core,
org.knime.workbench.repository,
org.knime.base
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: fr.inserm.umr915.knime4ngs.corelib.bio,
fr.inserm.umr915.knime4ngs.corelib.knime,
fr.inserm.umr915.knime4ngs.corelib.util,
fr.inserm.umr915.knime4ngs.nodes.bam.view,
fr.inserm.umr915.knime4ngs.nodes.sql.query;
uses:="org.knime.core.node,
org.eclipse.core.runtime,
org.osgi.framework,
org.knime.core.data,
org.knime.core.node.defaultnodesettings,
fr.inserm.umr915.knime4ngs.corelib.knime",
fr.inserm.umr915.knime4ngs.nodes.unix.echo;
(... other packages here ...)
uses:="fr.inserm.umr915.knime4ngs.nodes,
org.knime.core.node,
org.eclipse.core.runtime,
org.osgi.framework,
org.knime.core.node.defaultnodesettings"
Run Code Online (Sandbox Code Playgroud)
有帮助吗?谢谢
编辑:这是我的build.properties: …
我最近编写了一个将SVG文档转换为HTML/Canvas的java 程序:很容易翻译诸如的路径
d="M 0 0 L 100 100 z"
Run Code Online (Sandbox Code Playgroud)
喜欢的东西
GeneralPath L= new GeneralPath();
L.moveTo(0,0);
L.lineTo(100,100);
L.closePath();
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何将Elliptical Arc命令转换为Java/GeneralPath.例如,有谁知道我应该如何将以下命令转换为Java/GeneralPath?
d = "M 750 200 a 100 50 135 1 1 250 50"
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.