package com.hxyd.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.hxyd.model.Student;
import com.hxyd.service.IStudentService;
@Controller
public class StudentController {
@Autowired
private IStudentService studentService;
// 【关于页面传值与controller中自动装配的疑惑及解释】
// 1, 在js中$.ajax()函数的data属性解释为:dataObject,String
// 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。这样就是说ajax请求正文为
// id=1&name=lwj&age=1&_method=PUT 是form形式的请求
// 2, 在controller中根据org.springframework.http.converter.HttpMessageConverter
// 进行自动装配为JavaBean(目测装配映射是根据参数名称与JavaBean的属性进行映射)。
// 也可以通过request.getParameter()获得参数
// 3, 在restful中需要对浏览器支持http DELETE, PUT等方法,【必须使用form形式?】,参数为:_method才可以
// 在controller里通过@RequestMapping(value = "/students", method = RequestMethod.DELETE)
// 接收到,所以JS中看似提交的是json对象,实质在传值过程中仍然为form形式!
// 传递JSON字符串 参考http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024741.html
// http://www.linuxidc.com/Linux/2016-05/131019.htm
// Method 枚举
// public enum RequestMethod {
// GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
// }
@RequestMapping(value = "/students", method = RequestMethod.POST)
@ResponseBody
public Object saveStudent(Student student) {
JSONObject jsonObject = new JSONObject();
try {
studentService.saveStudent(student);
jsonObject.put("msg", "注册人员信息成功");
} catch (Exception e) {
e.printStackTrace();
jsonObject.put("msg", "注册人员信息失败");
}finally {
System.out.println(jsonObject.toString());
}
return jsonObject;
}
// \\d+正则表达式
@RequestMapping(value = "/students/{id:\\d+}", method = RequestMethod.DELETE)
@ResponseBody
public Object deletePerson(@PathVariable("id") int id) {
JSONObject jsonObject = new JSONObject();
try {
Integer rows = studentService.deleteStudent(id);
jsonObject.put("msg", "删除人员信息成功, 影响行数: " + rows);
} catch (Exception e) {
e.printStackTrace();
jsonObject.put("msg", "删除人员信息失败");
} finally {
System.out.println(jsonObject.toString());
}
return jsonObject;
}
@RequestMapping(value = "/students", method = RequestMethod.PUT)
@ResponseBody
public Object updatePerson(Student student) {
JSONObject jsonObject = new JSONObject();
try {
Integer rows = studentService.updateStudent(student);
jsonObject.put("msg", "更新人员信息成功, 影响行数: " + rows);
} catch (Exception e) {
e.printStackTrace();
jsonObject.put("msg", "更新人员信息失败 ");
} finally{
System.out.println(jsonObject.toString());
}
return jsonObject;
}
@RequestMapping(value = "/students/{id:\\d+}", method = RequestMethod.GET)
public @ResponseBody Object getStudent(@PathVariable("id") int id) {
JSONObject jsonObject = new JSONObject();
try {
Student student = studentService.getStudentByID(id);
if (student == null) {
jsonObject.put("success", false);
} else {
jsonObject.put("success", true);
jsonObject.put("data", JSONObject.fromObject(student));
}
} catch (Exception e) {
jsonObject.put("success", false);
} finally {
System.out.println(jsonObject.toString());
}
return jsonObject;
}
@RequestMapping(value = "/students", method = RequestMethod.PATCH)
public @ResponseBody
List<Student> getStudentList(@RequestParam(value = "name", required = false, defaultValue = "") String name) {
System.out.println("传入参数 : name 值:" + name);
List<Student> returnValue = null;
try {
returnValue = studentService.getStudentList();
} catch (Exception e) {
returnValue = new ArrayList<Student>();
}
return returnValue;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
activiti+springMVC+mybatis rest风格整合demo (151个子文件)
TestProcess.bpmn 2KB
TestProcess.bpmn 2KB
StudentController.class 4KB
ActivitiTest.class 3KB
LoginController.class 2KB
StudentServiceImpl.class 1KB
SpringBeanHello.class 1KB
Student.class 1KB
SpringApplicationContextTest.class 1KB
Tools.class 921B
IStudentDAO.class 667B
IStudentService.class 593B
.classpath 842B
org.eclipse.wst.common.component 467B
org.eclipse.wst.jsdt.ui.superType.container 49B
style.css 3KB
groovy-all-2.4.5.jar 6.67MB
vaadin-6.8.8.jar 4.82MB
gwt-servlet-2.3.0.jar 4.77MB
fop-0.94.jar 1.99MB
activiti-engine-5.20.0.jar 1.74MB
h2-1.3.176.jar 1.58MB
mybatis-3.3.0.jar 1.35MB
spring-context-4.1.5.RELEASE.jar 1002KB
spring-core-4.1.5.RELEASE.jar 985KB
mysql-connector-java-5.1.38-bin.jar 961KB
jackson-databind-2.2.3.jar 846KB
log4j-core-2.2.jar 807KB
jgraphx-1.10.4.1.jar 791KB
activiti-explorer-5.20.0.jar 772KB
spring-webmvc-4.1.5.RELEASE.jar 763KB
spring-web-4.1.5.RELEASE.jar 702KB
spring-beans-4.1.5.RELEASE.jar 692KB
dcharts-widget-0.10.0.jar 597KB
batik-svg-dom-1.7.jar 587KB
joda-time-2.6.jar 574KB
commons-collections-3.2.1.jar 562KB
javax.mail-1.5.2.jar 558KB
batik-bridge-1.7.jar 546KB
batik-js-1.7.jar 493KB
log4j-1.2.17.jar 478KB
spring-jdbc-4.1.5.RELEASE.jar 417KB
jstl-1.2.jar 405KB
commons-lang3-3.3.2.jar 403KB
spring-security-config-3.2.3.RELEASE.jar 397KB
batik-awt-util-1.7.jar 392KB
standard-1.1.2.jar 384KB
spring-orm-4.1.5.RELEASE.jar 368KB
javaGeom-0.11.1.jar 354KB
spring-security-core-3.2.3.RELEASE.jar 351KB
spring-aop-4.1.5.RELEASE.jar 351KB
xmlgraphics-commons-1.2.jar 335KB
spring-security-web-3.2.3.RELEASE.jar 334KB
batik-css-1.7.jar 304KB
cglib-3.1.jar 276KB
commons-lang-2.5.jar 270KB
spring-expression-4.1.5.RELEASE.jar 253KB
junit-4.10.jar 247KB
spring-tx-4.1.5.RELEASE.jar 247KB
batik-gvt-1.7.jar 237KB
commons-beanutils-1.8.0.jar 226KB
batik-svggen-1.7.jar 210KB
activiti-bpmn-converter-5.20.0.jar 193KB
xml-apis-1.3.04.jar 190KB
jackson-core-2.2.3.jar 188KB
batik-dom-1.7.jar 169KB
batik-codec-1.7.jar 162KB
commons-dbcp-1.4.jar 157KB
commons-io-2.0.1.jar 156KB
json-lib-2.4-jdk15.jar 155KB
log4j-api-2.2.jar 130KB
batik-util-1.7.jar 125KB
batik-transcoder-1.7.jar 119KB
activiti-simple-workflow-5.20.0.jar 118KB
activiti-json-converter-5.20.0.jar 98KB
activiti-bpmn-model-5.20.0.jar 96KB
commons-pool-1.5.4.jar 94KB
batik-anim-1.7.jar 93KB
ezmorph-1.0.6.jar 84KB
xml-apis-ext-1.3.04.jar 84KB
batik-parser-1.7.jar 71KB
activiti-crystalball-5.20.0.jar 70KB
activiti-image-generator-5.20.0.jar 68KB
commons-logging-1.2.jar 60KB
avalon-framework-impl-4.3.1.jar 60KB
batik-script-1.7.jar 59KB
activation-1.1.1.jar 55KB
activiti-process-validation-5.20.0.jar 55KB
commons-email-1.4.jar 50KB
mybatis-spring-1.2.3.jar 50KB
asm-4.2.jar 47KB
spring-security-crypto-3.2.3.RELEASE.jar 41KB
activiti-spring-5.20.0.jar 37KB
jackson-annotations-2.2.3.jar 33KB
avalon-framework-api-4.3.1.jar 32KB
batik-xml-1.7.jar 30KB
slf4j-api-1.7.6.jar 28KB
imgscalr-lib-4.2.jar 27KB
activiti-bpmn-layout-5.20.0.jar 19KB
activiti-diagram-rest-5.20.0.jar 17KB
共 151 条
- 1
- 2
TXYTXYLWJ
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页