您的位置:首页 > 房产 > 建筑 > 网站技术培训班_表白网站制作模板_广东广州重大新闻_活动推广

网站技术培训班_表白网站制作模板_广东广州重大新闻_活动推广

2025/4/22 6:28:32 来源:https://blog.csdn.net/2302_79527141/article/details/146514820  浏览:    关键词:网站技术培训班_表白网站制作模板_广东广州重大新闻_活动推广
网站技术培训班_表白网站制作模板_广东广州重大新闻_活动推广

一、案例 1:加法计算器 ——HTTP 接口的初体验
1.1 接口设计
定义接口文档如下:
维度 内容
请求路径 /calc/sum
请求方式 GET/POST
参数 num1(Integer)、num2(Integer)
响应 文本格式,如计算结果为:8
1.2 后端实现(Spring MVC)
java
@Controller
@RequestMapping(“/calc”)
public class CalcController {
@ResponseBody // 直接返回字符串作为响应体
@RequestMapping(“/sum”)
public String sum(Integer num1, Integer num2) {
// 自动参数绑定:Spring MVC将请求参数映射到方法参数
if (num1 == null || num2 == null) {
return “参数不能为空”;
}
int result = num1 + num2;
return “计算结果为:” + result;
}
}
1.3 前端交互(HTML + 表单)
html

数字1:
数字2:
计算 流程解析: 用户提交表单,数据通过 POST 请求发送到/calc/sum; 后端接收参数并计算,返回文本响应; 浏览器直接显示结果。 二、案例 2:用户登录 ——Session 管理与 AJAX 交互 2.1 接口设计 接口 登录校验(POST /user/login) 获取用户(GET /user/getLoginUser) 参数 userName、password 无 响应 true/false 用户名或null 2.2 后端实现(Session 管理) java @RestController // 组合注解:@Controller + @ResponseBody @RequestMapping("/user") public class LoginController { @RequestMapping("/login") public boolean login(String userName, String password, HttpSession session) { // 校验参数非空(使用Spring工具类) if (!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)) { return false; } // 正确姿势:用equals()比较字符串内容 if (!"zhangsan".equals(userName) || !"zhangsan".equals(password)) { return false; } // 存入Session(服务器端会话管理) session.setAttribute("userName", userName); return true; }
@RequestMapping("/getLoginUser")
public String getLoginUser(HttpSession session) {return (String) session.getAttribute("userName");
}

}
2.3 前端实现(AJAX 无刷新交互)
html

登录

三、常见误区与最佳实践
误区 1:字符串比较用==
错误代码:
java
if (userName == “zhangsan”) {…} // 比较引用地址,而非内容
正确姿势:
java
if (“zhangsan”.equals(userName)) {…} // 避免NPE,推荐常量在前
误区 2:逻辑运算符混淆||和&&
场景:需同时校验用户名和密码正确
错误代码:
java
if (!userName.equals(“admin”) || !password.equals(“123”)) {
return false; // 只要一个错误就返回false,逻辑错误!
}
正确代码:
java
if (!userName.equals(“admin”) && !password.equals(“123”)) {
return false; // 两者都错误才返回false
}
最佳实践:参数封装
定义User类封装请求参数,提升代码可读性:
java
public class User {
private String userName;
private String password;
// getter/setter
}

// 后端方法简化为:
public boolean login(User user, HttpSession session) {
// 直接通过user.getUserName()获取参数
}
四、总结与扩展
本文通过两个案例演示了 Spring MVC 的核心功能:
接口驱动开发:前后端通过接口文档解耦;
参数绑定:自动将请求参数映射到方法参数;
Session 管理:实现用户状态的服务器端存储;
AJAX 交互:提升前端用户体验。
扩展学习方向:
接口文档工具(如 Swagger);
前后端数据格式(JSON 替代文本);
异常处理(全局异常处理器)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com