在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;
}
}
浙公网安备 33010602011771号