SpringMVC在我的另外一篇博客:https://blog.csdn.net/qq_36470686/article/details/83592632
我们创建的是maven
一、我的目录结构
controllers:对应MVC中的C,存放servlet,就是控制前台信息与后台交互的文件。
dao:对应数据库配置
helper:辅助controllers的类
models:存放后台逻辑代码
utils:存放公用代码
jsp页面放在webapp下
这样创建后在src中对应创建的包:
二、创建servlet
我们在com.qcr.controllers下创建MyController.java
@Controller使这个文件有了类似于servlet的功能
@RequestMapping的value值相当于这个方法的标记,可以通过http://localhost:8080/+项目名+value访问这个方法,也可以直接忽略value,直接@RequestMapping("/ajax"),method方法标记这个方法要通过get请求才能访问。
三、通过a链接实现HelloWorld
1、前台访问方法页面
因为我是将该页面放在views下,所以这样相当于访问 http://localhost:8080/depend/success,因此调用了了successModel方法。
2、MyController.java文件class中的内容
@RequestMapping(value="/success", method = {RequestMethod.GET})
public ModelAndView successModel(HttpServletRequest request, HttpServletResponse reponse) {
ModelAndView mav=new ModelAndView();
//方法一
mav.addObject("message","ooooooooooooooo");
mav.setViewName("success");
//方法二
//request.setAttribute("message","Hello World");
//mav.addObject("success");
return mav;
}
上方我们通过两种方法存储信息,并携带信息返回前台页面
3、返回的前台jsp页面:
<body>
${message}
</body>
最上面要加上<%@page isELIgnored="false"%>
该页面地址为http://localhost:8080/depend/views/success.jsp,因为我们配置spring-mvc.xml时配置了:
所以会在success前加上/views/,后加上jsp
四、通过form表单实现HelloWorld
1、前台访问页面
servlet页面和接受信息前台页面与上文一致
五、通过ajax实现HelloWorld
1、前台访问页面
<script>
var data={
username:"person",
password:"123"
}
$.ajax({
url : "http://localhost:8080/depend/requestJson",
type : "get",
async : true,
data : data,,
success:function(data) {
alert(data.username);
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert("error");
}
});
</script>
这样提交后是 http://localhost:8080/depend/requestJson?username="person"&&password="123"
2、servlet页面内容
@RequestMapping("/requestJson")
@ResponseBody//以json形式返回
public User getJson(String username,String password) {
System.out.println(username);
User user=new User(username,password);
return user;
}
3、返回页面alert(data.username)的值便是person