在SSH中使用serlvet作为ajax

1.这是在js页面代码

function createXmlHttpRequest(){
    var xmlHttp;
    try{    //Firefox, Opera 8.0+, Safari
            xmlHttp=new XMLHttpRequest();
     }catch (e){
            try{    //Internet Explorer
                   xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
             }catch (e){
                   try{
                           xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                   }catch (e){} 
            }
     }
    return xmlHttp;
  }
  //这是用来用户多点击的
  var clickCount=0;
  function checkLogonName(pp){
   if(clickCount>0)
   {
    alert("已经点击过了!");
    return false;
   }
   clickCount++;
   
   var articleId = document.getElementById("articleId").value;
   //第一步:创建ajax引擎
   var xmlHttp = createXmlHttpRequest();
   //第二步:事件处理函数,实质上相当一个监听,监听服务器与客户端的连接状态
   xmlHttp.onreadystatechange = function(){
    if(xmlHttp.readyState==4){
     if(xmlHttp.status==200){
      var data = xmlHttp.responseText;
     //前台servlet返回的结果处理
     if(pp=="zan")
     {
      var divzan=document.getElementById("divzan");
      divzan.innerHTML="";
      divzan.innerText="赞"+data;
     }
     else if(pp=="cai")
     {
      var divcai=document.getElementById("divcai");
      divcai.innerHTML="";
      divcai.innerText="踩"+data;
     }
     }
    }
   }
   //第三步:与后台服务器建立一个连接
   xmlHttp.open("post","http://localhost:8080/Blog/addZanAndCai",true);
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   //第四步:发送请求的参数
   xmlHttp.send("articleId="+articleId+"&operator="+pp);

2.serlvet

private ArticleService articleService=(ArticleService)ServiceProvider.getService("articleService");

在serlvet中不可以使用@resource的方式注入,但是可以使用加载的方式

public class ServiceProviderCord
{
 protected static ApplicationContext ac;
 public static void load(String fileName)
 {
  ac=new ClassPathXmlApplicationContext(fileName);
 }
}

public class ServiceProvider
{
 public static ServiceProviderCord spc;
 static{
  spc=new ServiceProviderCord();
  spc.load("applicationContext.xml");
 }
 
 public static Object getService(String serviceName)
 {
  if("".equals(serviceName))
  {
   throw new RuntimeException("当前服务器名称不存在");
  }
  Object object=null;
  if(spc.ac.containsBean(serviceName))
  {
   object=spc.ac.getBean(serviceName);
  }
  if(object==null)
  {
   throw new RuntimeException("当前服务名称【"+serviceName+"】下的服务节点不存在");
  }
  return object;
 }
}

posted on 2015-10-12 14:41  mike_sky  阅读(160)  评论(0)    收藏  举报

导航