用struts2做一个web项目,想要通过点击页面的一个按钮启动和关闭后台java进程,应该怎么做呢?
请给出具体代码,多谢大虾被启动的进程要和Web工程中Action是独立的,也就是说启动这个进程像启动一个线程一样,主线程结束也不会影响他的正常执行...
请给出具体代码,多谢大虾
被启动的进程要和Web工程中Action是独立的,也就是说启动这个进程像启动一个线程一样,主线程结束也不会影响他的正常执行 展开
被启动的进程要和Web工程中Action是独立的,也就是说启动这个进程像启动一个线程一样,主线程结束也不会影响他的正常执行 展开
4个回答
展开全部
import javax.servlet.http.*;
import com.jspsmart.upload.*;
import com.publicsoft.tools.*;
import com.publicsoft.transfer.*;
/**
* 一个 <strong>Action</strong> 是一个引入的 HTTP request 对象与相应的业务逻辑处理的适配器.
在 控制器(ActionServlet) 为每一个请求分配一个对应 <strong>Action</strong> 实例,调用其
<code>process()</code> 方法来处理业务,返回目标页。
* <p>
* 系统按适当的粒度划分小业务模块,每个模块将重载该类。</p>
* 创建日期:(2002-10-16 17:22:54)
* @author:chage
*/
public abstract class Action {
public static final String ERRORPAGE = "ERRORPAGE";
public static final String ACTIONSERVLET = Constants.ACTIONSERVLET;
protected String type;
protected SmartUpload su;
protected FileCesor fileCesor = new FileCesor();
protected ActionError actionError = new ActionError();
protected HttpServletRequest request;
protected HttpServletResponse response;
protected SessionInfo session;
/**
* 跳转至相应动作的方法。在 <code>ActionServlet</code> 中调用.
* @return 完成处理后的下一步url。
*/
public abstract String process() throws java.sql.SQLException;
/**
* 置逻辑出错后返回Url(Servlet)
*/
public void setErrorBack(String s) {
actionError.setBackUrl(s);
}
/**
* 置逻辑出错信息
*/
public void setErrorInfo(String s) {
actionError.setInfo(s);
}
/**
* 置逻辑出错解决方法
*/
public void setErrorSolve(String s) {
actionError.setSolve(s);
}
/**
* 置逻辑出错时当前状态信息
*/
public void setErrorState(String s) {
actionError.setState(s);
}
/**
* 置请求
*/
public void setRequest(HttpServletRequest req) {
request = req;
session = new SessionInfo(request);
}
/**
* 置应答
*/
public void setResponse(HttpServletResponse response) {
this.response = response;
}
/**
* 置SmartUpload对象,用来上传附件
*/
public void setSmartUpload(SmartUpload su) {
this.su = su;
}
/**
* 置令牌参数,用于识别具体动作类型(增、删、改、查询等)
*/
public void setType(String actiontype) {
type = actiontype;
}
/**
* 导向错误页面
*/
public void toErrorPage() {
InvalidHelp inv = new InvalidHelp();
inv.SetState(actionError.getState());
inv.SetErrorInfo(actionError.getInfo());
inv.SetSolveInfo(actionError.getSolve());
inv.SetAction(actionError.getBackUrl());
inv.GoPage(request, response);
}
}
import com.jspsmart.upload.*;
import com.publicsoft.tools.*;
import com.publicsoft.transfer.*;
/**
* 一个 <strong>Action</strong> 是一个引入的 HTTP request 对象与相应的业务逻辑处理的适配器.
在 控制器(ActionServlet) 为每一个请求分配一个对应 <strong>Action</strong> 实例,调用其
<code>process()</code> 方法来处理业务,返回目标页。
* <p>
* 系统按适当的粒度划分小业务模块,每个模块将重载该类。</p>
* 创建日期:(2002-10-16 17:22:54)
* @author:chage
*/
public abstract class Action {
public static final String ERRORPAGE = "ERRORPAGE";
public static final String ACTIONSERVLET = Constants.ACTIONSERVLET;
protected String type;
protected SmartUpload su;
protected FileCesor fileCesor = new FileCesor();
protected ActionError actionError = new ActionError();
protected HttpServletRequest request;
protected HttpServletResponse response;
protected SessionInfo session;
/**
* 跳转至相应动作的方法。在 <code>ActionServlet</code> 中调用.
* @return 完成处理后的下一步url。
*/
public abstract String process() throws java.sql.SQLException;
/**
* 置逻辑出错后返回Url(Servlet)
*/
public void setErrorBack(String s) {
actionError.setBackUrl(s);
}
/**
* 置逻辑出错信息
*/
public void setErrorInfo(String s) {
actionError.setInfo(s);
}
/**
* 置逻辑出错解决方法
*/
public void setErrorSolve(String s) {
actionError.setSolve(s);
}
/**
* 置逻辑出错时当前状态信息
*/
public void setErrorState(String s) {
actionError.setState(s);
}
/**
* 置请求
*/
public void setRequest(HttpServletRequest req) {
request = req;
session = new SessionInfo(request);
}
/**
* 置应答
*/
public void setResponse(HttpServletResponse response) {
this.response = response;
}
/**
* 置SmartUpload对象,用来上传附件
*/
public void setSmartUpload(SmartUpload su) {
this.su = su;
}
/**
* 置令牌参数,用于识别具体动作类型(增、删、改、查询等)
*/
public void setType(String actiontype) {
type = actiontype;
}
/**
* 导向错误页面
*/
public void toErrorPage() {
InvalidHelp inv = new InvalidHelp();
inv.SetState(actionError.getState());
inv.SetErrorInfo(actionError.getInfo());
inv.SetSolveInfo(actionError.getSolve());
inv.SetAction(actionError.getBackUrl());
inv.GoPage(request, response);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是不太明白你的具体需求,希望贴出你要做什么,并且步骤,这样方便分析。
追问
通过前台的按钮启动一个java进程,我的进程是求解一个调度问题(代码一万多行,没法贴)
追答
考虑一下接听器,不知是否可以对你有帮助。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果我没有理解错误的话,进程都应该是一个概念。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不会要的是System.exit(0) 吧?没太明白你的意思
更多追问追答
追问
没明白你的意思呢,我说得很清楚啊
追答
说下这个进程是干什么的,是进程还是线程啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询