web工程ajax访问servlet一直报404错误

话不多说,jsp页面中的代码如下:

 

CategoryServlet的代码如下:

package cn.itcast.store.web.servlet;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.itcast.store.domain.Category;
import cn.itcast.store.service.CategoryService;
import cn.itcast.store.service.serviceImp.CategoryServiceImp;
import cn.itcast.store.web.base.BaseServlet;
import net.sf.json.JSONArray;

public class CategoryServlet extends BaseServlet {
	
	public String findAllCats(HttpServletRequest request, HttpServletResponse response) throws Exception{
				//调用业务层获取全部分类数据
				CategoryService categoryService=new CategoryServiceImp();
				List list = categoryService.getAllCats();
				//将集合list转换为json
				String jsonStr=JSONArray.fromObject(list).toString();
				//将全部分类信息响应到客户端
				//告诉浏览器响应的是json格式
				response.setContentType("application/json;charset=utf-8");
			    response.getWriter().print(jsonStr);
				return null;
		
	}

}

CategoryServlet中做的是很简单:

1.调用业务层(service)获取全部分类信息,为一个List对象

2.将List对象转换为Json对象

3.设置响应的格式,将json格式的对象写进response对象中。

在浏览器上运行起来始终报404这个错误,方法名和路径均正确,debug进去后连参数都能显示出来,运行到$.post(url,function(data){这一行直接跳到最底行,说明Servlet中方法没有调用成功。页面如下:

web工程ajax访问servlet一直报404错误_第1张图片

 

web工程ajax访问servlet一直报404错误_第2张图片

在CategoryServlet中打一下断点发现压根就没进去该方法。突然想起若要访问这个路径,必须在web.xml中先进行配置。

 
    UserServlet
    /UserServlet
  
  
    
    IndexServlet
    IndexServlet
    cn.itcast.store.web.servlet.IndexServlet
  
  
    IndexServlet
    /IndexServlet
  

果然没有进行配置,加入下面代码,问题解决。

 

你可能感兴趣的:(web工程ajax访问servlet一直报404错误)