自己从0 开始写后台,那些配置简直致命!
一、关于日志的配置
1.log4j 不输出日志,运行之后说 log4j 没有初始化成功(日志大概是这个意思吧),对于新手来说这种日志简直跟没有一个样,网上查了很多资料都是教你 log4j.properties 怎么使用的。
解决办法: 1.对于classpath 的理解:就是指的下面的那个目录
2.找了很久才发现我的 resource 没有打包到class 目录下面
3.解决办法:pom 文件的build 节点里面添加
4.之后web.xml 里面的配置就能找到这个文件了
二、关于如何请求数据接口
springmvc 的流程暂时不很清楚,只要你请求页面的时候 会从controller 里面去找对应的 requestmapping
有匹配的就会去对应的方法里面,但是这里有一个问题,如何区分一般的页面请求和数据请求呢?明显这两种的返回结构是完全不同的
import com.dev_manager.entities.BaseResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller("controller.LoginController")
@RequestMapping(value = "/index", produces = "application/json;charset=UTF-8")
public class LoginController {
Logger logger = LoggerFactory.getLogger("LoginController");
@RequestMapping(value = "/login")
public ModelAndView getLogin() {
return new ModelAndView("login");
}
@RequestMapping(value = "/postLogin")
@ResponseBody
public BaseResponse postLogin(@RequestParam("json") String jsonString) {
logger.info("login params", jsonString);
BaseResponse baseResponse = new BaseResponse();
baseResponse.setStatusCode(0);
baseResponse.setData(null);
baseResponse.setErrMsg("登录成功");
return baseResponse;
}
}
一般的数据请求要加上 @ResponseBody 不然的话会当作页面去请求的。