微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RestEasy(restful风格的)WebService

CsosInfo.java

package com.topsec.tsm.sim.rest.server.csos;



import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;


import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.CookieParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.NewCookie;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;


import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


import com.topsec.tal.base.util.StringUtil;
import com.topsec.tal.base.web.SpringContextServlet;
import com.topsec.tsm.base.audit.AuditRecord;
import com.topsec.tsm.base.type.IpAddress;
import com.topsec.tsm.base.type.Severity;
import com.topsec.tsm.resource.AuditCategoryDeFinition;
import com.topsec.tsm.sim.datasource.SimDatasource;
import com.topsec.tsm.sim.node.service.NodeDeployService;
import com.topsec.tsm.sim.node.service.NodeMgrFacade;
import com.topsec.tsm.sim.node.service.NodeMgrFacadeImpl;
import com.topsec.tsm.sim.rest.CsosTask;
import com.topsec.tsm.sim.rest.TaskInfo;
import com.topsec.tsm.sim.rest.service.CsosTaskService;
import com.topsec.tsm.sim.rest.util.CsosUtil;
import com.topsec.tsm.sim.util.AuditLogFacade;
import com.topsec.tsm.ui.dataSource.service.DataSourceService;
import com.topsec.tsm.ui.framework.util.FacadeUtil;
import com.topsec.tsm.ui.sim.sysman.licence.service.LicenceServiceUtil;


@Path("/")
public class CsosInfo {
/** 未关联*/
private static final String UNASSOCIATED="0";
/** 启动任务*/
private static final String TASK_START="1";
/** 停止任务*/
private static final String TASK_STOP ="-1";
/** 取消任务*/
private static final String TASK_DELETE="-2";


private DataSourceService dataSourceService;
private CsosTaskService csosTaskService;
private NodeDeployService nodeDeployService;
private NodeMgrFacade nodeMgrFacade;
public CsosQueryTask task;
private static final Logger log = LoggerFactory.getLogger(CsosInfo.class);

/**
* 根据条件获取统计信息
* @param request
* @param id 客户端sessionid
* @return
*/
@Path("/report/condition")
@POST
@Produces("application/xml;charset=UTF-8")
public Response getData(@Context HttpServletRequest request,@CookieParam("sessionid") String id){
// log.info("进入统计数据查询接口...");
ResponseBuilder build =Response.status(200);
build.header("Content-Type","text/html;charset=UTF-8");
boolean isLogin = CsosSecurityAuth.getInstance().isLogin(id);
if(!isLogin){
String msg = CsosUtil.getInstance().errorMsg("Auth","访问 统计数据 接口前未登陆!");
log.error(msg);
           return build.entity(msg).build();
}
String xml = null;
String result ="";
String type="";
Map<String,Object> map = new HashMap<String,Object>();
try {
xml = CsosUtil.getStrFromInputStream(request.getInputStream());
if(xml!=null){
 /*<Task>
<RequestID>xxx</RequestID>
<EngineName>webxxx</EngineName>
<Report type="xx" requesttime="2013-11-04 10:10:10” >
   <Start_Time>2013-11-04 10:10:10</Start_Time>
   <End_Time>2013-11-04 12:10:10</End_Time>
   <Topic name="xxx">
      <SubTopic name="yyyy"/>
   </Topic>
</Report >
</Task> */

log.info("统计数据查询参数:{}",xml);
Document document = DocumentHelper.parseText(xml);
Element root = document.getRootElement();
map.put("requestID",root.element("RequestID").getTextTrim());
map.put("engineName",root.element("EngineName").getTextTrim());
Element report = root.element("Report");
type = report.attributeValue("type");
map.put("type",type);
map.put("sTime",report.element("Start_Time").getTextTrim());
map.put("eTime",report.element("End_Time").getTextTrim());
Element topic = report.element("Topic");
map.put("topic",topic.attributeValue("name"));
Element subTopic = topic.element("SubTopic");
String sub_topic =null;
if(subTopic!=null){
sub_topic =subTopic.attributeValue("name");
}
map.put("subTopic",sub_topic);
Thread task = new Thread(new CsosQueryTask(map));
task.start() ;
}
result = "<Result value=\"Success\"/>";
} catch (Exception e) {
result = CsosUtil.getInstance().errorMsg("Cmd","解析csos "+type+"接口 查询条件失败!");
log.error(result);
}
return build.entity(result).build();
}
/**
* 任务下发
* @param request
* @param id  客户端sessionid
* @return
*/
@Path("/task")
@POST
@Produces("application/xml;charset=UTF-8")
public Response task(@Context HttpServletRequest request,@CookieParam("sessionid") String id){
ResponseBuilder build=Response.status(200);
build.header("Content-Type","text/xml;charset=UTF-8");
boolean isLogin = CsosSecurityAuth.getInstance().isLogin(id);
if(!isLogin){
String msg = CsosUtil.getInstance().errorMsg("Auth","访问 任务下发 接口前未登陆!");
return build.entity(msg).build();
}
csosTaskService = getCsosTaskService();
StringBuffer result = new StringBuffer() ;
try{
String context = CsosUtil.getStrFromInputStream(request.getInputStream());

log.info("任务下发参数:{}",context);

CsosTask task = this.parseXML2Task(context);
CsosTask tsk = csosTaskService.getCsosTaskByTaskId(task.getTaskId());
Serializable obj = null;
if(tsk==null){
obj =  csosTaskService.saveCsosTask(task);
}
log.info("下发任务保存返回结果:{}",obj);
result.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
if(obj!=null||tsk!=null){
int  taskId =  (Integer) obj;
if(taskId>0||tsk!=null){
result.append("<Result value=\"Success\"/>");
}
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","下发任务失败!"));
}
}catch(Exception e){
result.append(CsosUtil.getInstance().errorMsg("Cmd","下发任务发生异常!"));
}
return build.entity(result.toString()).build() ;
}

/**
* 取消任务
* @param request
* @param taskId 任务Id
* @param id 客户端sessionid
* @return
*/
@Path("/task/Del/{taskId}")
@POST
@Produces("application/xml;charset=UTF-8")
public Response deleteTask(@Context HttpServletRequest request,@PathParam("taskId")String taskId,"访问 任务取消  接口前未登陆!");
           return build.entity(msg).build();
}
dataSourceService = getDataSourceService();
csosTaskService = getCsosTaskService();
nodeDeployService = getNodeDeployService();
nodeMgrFacade = this.getNodeMgrFacade(request);
CsosTask task = csosTaskService.getCsosTaskByTaskId(taskId);
StringBuffer result = new StringBuffer() ;
result.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
if(task!=null){
SimDatasource ds = task.getDataSource();
if(ds!=null){
try{
int licenceNum = 0;
Map licenceMap=LicenceServiceUtil.getInstance().getLicenseInfo();
String license_valid=(String)licenceMap.get("LICENSE_VALID");
if(license_valid==null||license_valid.equals("0")){
licenceNum = 0;
log.info("Licence文件无效,任何修改将不被允许!");
} else {
licenceNum = Integer.valueOf((String)licenceMap.get("TAL_LOGSOURCE_NUM"));
}
Integer datasourceCount=dataSourceService.countTotal(DataSourceService.CMD_START,DataSourceService.TYPE_OTHER,DataSourceService.DATASOURCE_TYPE_LOG);
if(datasourceCount.compareto(licenceNum)<0){
dataSourceService.deleteSimDatasource(ds.getResourceId());
NodeMgrFacadeImpl.nodetopoMap.remove(ds.getAuditorNodeId());
nodeDeployService.deleteDataSource(ds.getNodeId(),ds.getComponentId(),ds.getResourceId());
String temp = "删除日志源,名称:"+ds.getResourceName()+",IP:"+ds.getDeviceIp()
+",类型:"+ds.getSecurityObjectType()+",绑定节点:"+ds.getNodeId()+",状态:"+ds.getAvailable();
toLog(AuditCategoryDeFinition.SYS_DELETE,"删除日志源",temp,"Csos 任务下发",true,Severity.HIGH);
log.info(temp);
task.setStatus(UNASSOCIATED);
task.setDataSource(null);
csosTaskService.updateCsosTask(task);
result.append("<Result value=\"Success\"/>");
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","取消任务时,taskId为: "+taskId+"的任务 关联的日志源Licence文件无效,不能进行任何操作!"));
}
}catch(Exception e){
log.error("csos任务下发  取消任务异常:",e);
result.append(CsosUtil.getInstance().errorMsg("Cmd","取消任务时,taskId为: "+taskId+"的任务 发生异常!"));
}
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","取消任务时,taskId为: "+taskId+"的任务未绑定日志源!"));
}
}
return build.entity(result.toString()).build() ;
}

/**
* 启动任务
* @param request
* @param taskId 任务Id
* @param id 客户端sessionid
* @return
*/
@Path("/task/Start/{taskId}")
@POST
@Produces("application/xml;charset=UTF-8")
public Response startTask(@Context HttpServletRequest request,"访问 任务启动  接口前未登陆!");
           return build.entity(msg).build();
}
dataSourceService = getDataSourceService();
csosTaskService = getCsosTaskService();
nodeDeployService = getNodeDeployService();
CsosTask task = csosTaskService.getCsosTaskByTaskId(taskId);
StringBuffer result = new StringBuffer() ;
result.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
if(task!=null){
SimDatasource ds = task.getDataSource();
if(ds!=null){
try{
int licenceNum = 0;
Map licenceMap=LicenceServiceUtil.getInstance().getLicenseInfo();
String license_valid=(String)licenceMap.get("LICENSE_VALID");
if(license_valid==null||license_valid.equals("0")){
licenceNum = 0;
log.info("Licence文件无效,任何修改将不被允许!");
} else {
licenceNum = Integer.valueOf((String)licenceMap.get("TAL_LOGSOURCE_NUM"));
}
Integer datasourceCount=dataSourceService.countTotal(DataSourceService.CMD_START,DataSourceService.DATASOURCE_TYPE_LOG);
if(datasourceCount.compareto(licenceNum)<0){
ds.setAvailable(1L);
dataSourceService.updateSimDatasource(ds);
toLog(AuditCategoryDeFinition.SYS_START,"启用日志源","启用日志源,状态:"+ds.getAvailable(),Severity.LOW);
nodeDeployService.updateDataSource(ds.getNodeId(),ds);
task.setStatus(TASK_START);
csosTaskService.updateCsosTask(task);
result.append("<Result value=\"Success\"/>");
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","启动任务时,taskId为: "+taskId+"的任务 关联的日志源Licence文件无效,不能进行任何操作!"));
}
}catch(Exception e){
log.error("csos任务下发 启动任务异常:","启动任务时,taskId为: "+taskId+"的任务 发生异常!"));
}
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","启动任务时,taskId为: "+taskId+"的任务未绑定日志源!"));
}
}
return build.entity(result.toString()).build() ;
}

/**
* 停止任务
* @param request
* @param taskId 任务Id
* @param id 客户端sessionid
* @return
*/
@Path("/task/Stop/{taskId}")
@POST
@Produces("application/xml;charset=UTF-8")
public Response stopTask(@Context HttpServletRequest request,"访问 任务停止  接口前未登陆!");
           return build.entity(msg).build();
}
dataSourceService = getDataSourceService();
csosTaskService = getCsosTaskService();
nodeDeployService = getNodeDeployService();
StringBuffer result = new StringBuffer() ;
result.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
CsosTask task = csosTaskService.getCsosTaskByTaskId(taskId);
if(task!=null){
SimDatasource ds = task.getDataSource();
if(ds!=null){
try{
int licenceNum = 0;
Map licenceMap=LicenceServiceUtil.getInstance().getLicenseInfo();
String license_valid=(String)licenceMap.get("LICENSE_VALID");
if(license_valid==null||license_valid.equals("0")){
licenceNum = 0;
log.info("Licence文件无效,任何修改将不被允许!");
} else {
licenceNum = Integer.valueOf((String)licenceMap.get("TAL_LOGSOURCE_NUM"));
}
Integer datasourceCount=dataSourceService.countTotal(DataSourceService.CMD_START,DataSourceService.DATASOURCE_TYPE_LOG);
if(datasourceCount.compareto(licenceNum)<0){
ds.setAvailable(0L);
dataSourceService.updateSimDatasource(ds);
NodeMgrFacadeImpl.nodetopoMap.remove(ds.getAuditorNodeId());
toLog(AuditCategoryDeFinition.SYS_STOP,"禁用日志源","禁用日志源,Severity.MEDIUM);
nodeDeployService.updateDataSource(ds.getNodeId(),ds);
task.setStatus(TASK_STOP);
csosTaskService.updateCsosTask(task);
result.append("<Result value=\"Success\"/>");
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","停止任务时,taskId为: "+taskId+"的任务 关联的日志源Licence文件无效,不能进行任何操作!"));
}
}catch(Exception e){
log.error("csos任务下发 停止任务异常:","停止任务时,taskId为: "+taskId+"的任务 发生异常!"));
}
}
}else{
result.append(CsosUtil.getInstance().errorMsg("Cmd","停止任务时,taskId为: "+taskId+"的任务未绑定日志源!"));
}
return build.entity(result.toString()).build() ;
}
/**
* 登录认证
* @param request
* @param id 服务端sessionid
* @return
*/
@Produces("application/xml;charset=UTF-8")
@POST
@Path("/auth")
public Response login(@Context HttpServletRequest request,@CookieParam("sessionid") String id){
// log.info("进入安全引擎服务调用");
ResponseBuilder build=Response.status(200);
build.header("Content-Type","text/html;charset=UTF-8");
String context ="";
String usr=null;
String pwd=null;
String date=null;
try {
String content =CsosUtil.getStrFromInputStream(request.getInputStream());
Document document = DocumentHelper.parseText(content);
Element root = document.getRootElement();
usr = root.element("Name").getTextTrim();
pwd = root.element("Password").getTextTrim();
date = root.element("Date").getTextTrim();
boolean isLogin = CsosSecurityAuth.getInstance().isLogin(id);
if(!isLogin){
isLogin= CsosSecurityAuth.getInstance().login(usr,pwd,date);
}
// log.info("用户名:{} 密码:{} 时间:{} 是否登录成功: {}",new Object[]{usr,date,isLogin});
if(isLogin){
Element result = DocumentHelper.createElement("Result");
result.addAttribute("value","Success");
Element session = result.addElement("SessionId");
String sessionId = CsosSecurityAuth.getInstance().getSessionIdByName(usr) ;
session.addText(sessionId);
context = result.asXML();
build.cookie(new NewCookie("sessionid",sessionId)) ;
}else{
context = CsosUtil.getInstance().errorMsg("Auth","登陆任务时, 用户名或者密码有误!");
}
} catch (Exception e) {
log.info("用户名:{} 密码:{} 异常: {}",e});
context = CsosUtil.getInstance().errorMsg("Auth","登陆任务时, 发生异常!");
}
return build.entity(context).build();
}


private CsosTask parseXML2Task(String xml){
 /*<Task>
<TaskID>100</TaskID>
<CustomID>500</CustomID>
<TaskInfo>
<AssetID>200</AssetID>
<HostType>Web</HostType>
<DestURL>http://192.168.72.169:8080/twm-web</DestURL>
</TaskInfo>
<TaskSLA>a</TaskSLA>
<CustomName>sunltTest</CustomName>
<NAME>WEB</NAME>
<DestIP>192.168.72.169</DestIP>
<DestPort>null</DestPort>
<Type>应用系统</Type>
</Task>
*/
CsosTask task = new CsosTask();
try{
Document document = DocumentHelper.parseText(xml);
Element root = document.getRootElement();
task.setTaskId(root.element("TaskID").getTextTrim());
task.setCustomId(root.element("CustomID").getTextTrim());
TaskInfo info = new TaskInfo();
info.setAssetId(StringUtil.toInteger(root.element("TaskInfo").element("AssetID").getTextTrim()));
info.setDeviceType(root.element("TaskInfo").element("HostType").getTextTrim());
info.setDestUrl(root.element("TaskInfo").element("DestURL").getTextTrim());
task.setTaskInfo(info);
task.setTaskSLA(root.element("TaskSLA").getTextTrim());
task.setCustomName(root.element("CustomName").getTextTrim());
task.setName(root.element("NAME").getTextTrim());
task.setDestAddress(root.element("DestIP").getTextTrim());
task.setDestPort(StringUtil.toInteger(root.element("DestPort").getTextTrim()));
   task.setType(root.element("Type").getTextTrim());
   task.setStatus("0");//未关联
//    log.info("TaskID: {} CustomID: {} AssetID: {} DestURL: {} TaskSLA: {} CustomName: {} NAME: {} DestIP: {} DestPort: {} Type: {}",new Object[]{task.getTaskId(),task.getTaskInfo().getAssetId(),task.getTaskInfo().getDestUrl(),task.getTaskSLA(),task.getCustomName(),task.getName(),task.getDestAddress(),task.getType()});
}catch(Exception e){
e.printstacktrace();
}
return task;
}


private void toLog(String cat,String name,String desc,String subject,boolean result,Severity severity) {
AuditRecord _log = AuditLogFacade.createConfigAuditLog();
_log.setBehavior(cat);
_log.setSecurityObjectName(name);
_log.setDescription(desc);
_log.setSubject(subject);
_log.setSubjectAddress(IpAddress.IPV4_LOCALHOST);
_log.setobjectAddress(IpAddress.IPV4_LOCALHOST);
_log.setSuccess(result);
_log.setSeverity(severity);
AuditLogFacade.send(_log);// 发送系统自审计日志
}

private DataSourceService getDataSourceService() {
if(this.dataSourceService==null){
this.dataSourceService= (DataSourceService) SpringContextServlet.springCtx.getBean("dataSourceService");
}
return this.dataSourceService;
}
private CsosTaskService getCsosTaskService(){
if(csosTaskService==null){
csosTaskService = (CsosTaskService) SpringContextServlet.springCtx.getBean("csosTaskService");
}
return csosTaskService;
}
private NodeDeployService getNodeDeployService(){
if(nodeDeployService==null){
nodeDeployService = (NodeDeployService) SpringContextServlet.springCtx.getBean("com.topsec.tsm.sim.node.service.NodeDeployService");
}
return nodeDeployService;
}
private NodeMgrFacade getNodeMgrFacade(HttpServletRequest request) {
if(this.nodeMgrFacade==null){
this.nodeMgrFacade=FacadeUtil.getNodeMgrFacade(request,null);
}
return this.nodeMgrFacade;
}
}


web.xml

<?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"    "http://java.sun.com/dtd/web-app_2_3.dtd">      <web-app> <display-name>Struts Example Application</display-name>  <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring/applicationContext.xml,/WEB-INF/spring/applicationContext-ibatis.xml,/WEB-INF/spring/applicationContext-sim.xml </param-value> <description>for risk manager</description> </context-param> <!-- Resteasy Param --> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/resteasy</param-value> </context-param> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <!-- jmesa --> <context-param> <param-name>jmesaPreferencesLocation</param-name> <param-value>/WEB-INF/jmesa/jmesa.properties</param-value> </context-param> <context-param> <param-name>jmesaMessagesLocation</param-name> <param-value>jmesaResourceBundle</param-value> </context-param> <filter> <filter-name>SecurityFilter</filter-name> <filter-class> com.topsec.tsm.ui.util.SecurityFilter </filter-class> <init-param> <param-name>forwardpath</param-name> <param-value>/login.do?action=logout</param-value> </init-param> <init-param> <param-name>ignore</param-name> <param-value>no</param-value> </init-param> </filter>    <!-- Auth过滤器 -->    <filter> <filter-name>Auth filter</filter-name> <filter-class> com.topsec.tsm.security.AuthFilter </filter-class> <init-param> <param-name>forwardpath</param-name> <param-value>/login.do?action=logout</param-value> </init-param> </filter> <!-- encoding filter --> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class> com.topsec.tsm.ui.framework.web.EncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <!--  init-param> <param-name>loginPage</param-name> <param-value>/login.jsp</param-value> </init-param> <init-param> <param-name>appLocal</param-name> <param-value>agent</param-value> </init-param>--> </filter> <!--url过滤器 --> <filter-mapping> <filter-name>SecurityFilter</filter-name> <url-pattern>/sim-web</url-pattern> </filter-mapping> <filter-mapping> <filter-name>SecurityFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>Auth filter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <!-- Resteasy listener --> <listener> <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> </listener> <!-- Spring Listener --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- blazeds for flex--> <listener>         <listener-class>flex.messaging.HttpFlexSession</listener-class>     </listener>  <!-- blazed Servlet -->     <servlet>         <servlet-name>MessagebrokerServlet</servlet-name>         <servlet-class>flex.messaging.MessagebrokerServlet</servlet-class>         <init-param>             <param-name>services.configuration.file</param-name>             <param-value>/WEB-INF/flex/services-config.xml</param-value>        </init-param>         <init-param>                <param-name>flex.write.path</param-name>                <param-value>/WEB-INF/flex</param-value>            </init-param>            <init-param>    <param-name>useContextClassLoader</param-name>    <param-value>true</param-value> </init-param>         <load-on-startup>2</load-on-startup>     </servlet>      <!-- Action Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>application</param-name> <param-value>resources.application</param-value> </init-param> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/struts/struts-config.xml,   /WEB-INF/struts/struts-config-sim.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- dwr start --> <servlet>  <servlet-name>dwr-invoker</servlet-name>  <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>  <init-param>  <param-name>debug</param-name>  <param-value>true</param-value>  </init-param> </servlet>  <!-- dwr end --> <servlet> <servlet-name>displayChart</servlet-name> <servlet-class> org.jfree.chart.servlet.displayChart </servlet-class> </servlet> <!-- jmesa --> <servlet>        <servlet-name>worksheet</servlet-name>        <servlet-class>org.jmesa.worksheet.servlet.WorksheetServlet</servlet-class>         </servlet>     <!-- jmesa end -->     <servlet>      <servlet-name>GetSpringContext</servlet-name>      <servlet-class>com.topsec.tal.base.web.SpringContextServlet</servlet-class>      <init-param>      <param-name>initClass</param-name>      <param-value>      com.topsec.tal.base.util.config.ConfigsReader;      </param-value>      </init-param>      <init-param> <param-name>InTopAnalyzer</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>SessionTime</param-name> <param-value>60</param-value> </init-param> <init-param> <param-name>SessionPasspage</param-name> <param-value>meter.do;sim/sysman/sysLogMan.do</param-value> </init-param>      <load-on-startup>1</load-on-startup>   </servlet>   <servlet> <servlet-name>resteasy-servlet</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletdispatcher</servlet-class>  </servlet> <!-- Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- Resteasy Mapping --> <servlet-mapping> <servlet-name>resteasy-servlet</servlet-name> <url-pattern>/resteasy/*</url-pattern> </servlet-mapping>   <!-- dwr --> <servlet-mapping>  <servlet-name>dwr-invoker</servlet-name>  <url-pattern>/exec/*</url-pattern>  </servlet-mapping> <!-- dwr end --> <servlet-mapping>         <servlet-name>MessagebrokerServlet</servlet-name>         <url-pattern>/messagebroker/*</url-pattern>     </servlet-mapping>  <!-- jmesa --> <servlet-mapping>         <servlet-name>worksheet</servlet-name>         <url-pattern>*.wrk</url-pattern>     </servlet-mapping> <!-- jmesa end --> <servlet-mapping> <servlet-name>displayChart</servlet-name> <url-pattern>/servlet/displayChart</url-pattern> </servlet-mapping> <!-- The Welcome File List --> <welcome-file-list> <welcome-file>main.jsp</welcome-file> </welcome-file-list> <!-- The default error page --> <error-page>  <error-code>404</error-code>  <location>/common/404.jsp</location> </error-page> </web-app>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐