读书人

这个有关问题是否需要多线程和service?

发布时间: 2012-03-17 19:06:27 作者: rapoo

这个问题是否需要多线程和service??
首先,有两个tomcat服务,比如a和b,先要进行如下操作:

在服务a,用户填写完信息,点击"提交"按钮,表单提交至一个servlet,处理完后返回,
可能是这样的代码:

Java code
...String pkid = request.getParameter("pkid");someBean.save(pkid);response.redirect("index.jsp");//返回首页...


现在,我希望用户在点击“提交”按钮后,同时传递一个参数给服务b上的一个servlet做另外一些操作,但是此操作对用户透明,就是用户点击“保存”后就直接返回至index.jsp,(他不能察觉我们还让服务b做了另外一些操作)。

我该怎么做?或许会如下这样:
Java code
...String pkid = request.getParameter("pkid");someBean.save(pkid);doOtherBy_TomcatB(pkid);//让服务b作些操作!!!response.redirect("index.jsp");//返回首页...


这样,至少要等到doOtherBy_TomcatB(pkid);执行完后,才能返回,用户会受影响。
有什么好点的办法吗??

此外,doOtherBy_TomcatB(pkid);这个是否需要用到service的东西?不用的话我们将无法在服务a上让服务b做事情。

谢谢。




[解决办法]
关注 帮顶 免沉
[解决办法]
mark
[解决办法]
这需要两个服务器相互配合。浏览器提交到 a,处理完后可以用 response.sendRedirect 跳转到 b,b 处理完后再用 response.sendRedirect 跳转到 a 的 index.jsp 即可。
[解决办法]
response.redirect("index.jsp");//返回首页
??
这不是jsp代码。
[解决办法]
不需要,通过javascript和隐藏iframe可以轻松实现

主页面post到一个servlet
隐藏iframe中的表单post另外一个参数到另一个servlet

呵呵
[解决办法]
服务器端在处理完自己的事情后,启动一个线程,去处理另一个服务器的操作,当前线程返回,不影响用户操作。


OVER,你的想法是正确的。
[解决办法]
怕复杂,干脆就在index.jsp页面中写个js代码。判断在index.jsp页面完全打开N秒后直接调用request传递过来的pkid,让index.jsp隐式调用。此时选择AJAX不错。

读书人网 >Java Web开发

热点推荐