Java Web 入门学习笔记:Servlet 请求响应与登录功能实战
一、开篇今日学习核心与目标学习背景Java Web 入门阶段核心 ——Servlet 与 HTTP 请求响应交互学习目标掌握 HttpServletRequest/HttpServletResponse 核心用法实现「登录表单提交→Servlet 验证→页面重定向」完整流程解决实操中 404、中文乱码、页面跳转等常见问题完成基础页面美化提升交互体验二、核心知识点拆解理论 实操一Servlet 基础Web 开发的核心组件Servlet 生效三要素缺一不可类必须继承HttpServlet底层封装 HTTP 请求处理逻辑重写doGet()/doPost()匹配前端请求方式登录表单用 POST注解配置访问路径WebServlet(/login)关联前端请求地址实操注意点包名与文件路径一致如com.example.unit2_1避免编译后路径错乱二HttpServletRequest接收前端请求的「桥梁」核心功能获取表单参数req.getParameter(参数名)匹配表单name属性解决 POST 中文乱码req.setCharacterEncoding(UTF-8)必须放在参数获取前拓展获取请求头、请求方式、URL 等课堂拓展知识点实操案例从login2.html中获取用户名 / 密码参数三HttpServletResponse向前端反馈的「通道」核心功能页面重定向resp.sendRedirect(页面路径)登录案例核心特点地址栏变化、两次请求、可跨页面 / 跨 Servlet 跳转适用场景登录成功 / 失败跳转、页面跳转传参响应内容输出resp.getWriter().write(内容)基础用法解决响应乱码resp.setContentType(text/html;charsetUTF-8)拓展知识点实操案例登录成功跳info.html带用户名参数失败跳回login2.html带错误标识四重定向 vs 转发课堂对比知识点表格特性重定向sendRedirect转发forward地址栏变化不变请求次数两次一次跳转范围可跨域名 / 项目仅限当前项目数据传递URL 参数传递request 域传递登录案例适配✅ 适合登录跳转❌ 不适用三、实战案例登录功能完整实现课堂项目复刻一项目结构梳理与课堂一致plaintextsrc/main/java └── com/example/unit2_1 └── LoginServlet.java // 核心处理类 src/main/webapp ├── login2.html // 登录表单页 └── info.html // 登录成功展示页二核心代码实现保留课堂原版最小改动LoginServlet.java核心逻辑保留课堂设定的账号密码admin/123456新增中文乱码处理 登录验证 重定向逻辑代码注释关键行标注「课堂新增」「核心逻辑」等标识login2.html登录表单页表单配置actionlogin匹配 Servlet 路径methodpost对应 doPost 方法美化极简 CSS 卡片布局 登录失败红色提示JS 识别错误参数info.html成功页动态展示JS 获取 URL 中用户名参数交互添加返回登录页按钮优化用户体验三运行步骤新手友好版项目重建IDEA 「构建→重建项目」清除缓存Tomcat 启动确认部署路径为test_war_exploded访问测试正确账号http://localhost:8080/test_war_exploded/login2.html→ 跳转 info.html错误账号跳转回登录页显示错误提示四、踩坑复盘新手高频问题一404 错误最常见原因Servlet 路径配置错误、包名与文件路径不匹配、项目未重新部署解决核对WebServlet路径与表单action一致确认 Servlet 包名 文件实际路径重启 Tomcat 重建项目清除 IDEA 缓存二中文乱码问题POST 请求乱码必须在参数获取前加req.setCharacterEncoding(UTF-8)响应乱码添加resp.setContentType(text/html;charsetUTF-8)三页面跳转无效果原因重定向路径写错如少写.html、路径层级错误解决核对跳转路径与页面实际存放位置一致五、今日学习总结与拓展一核心收获掌握 Servlet 处理请求响应的核心流程能独立实现「表单提交→逻辑验证→页面跳转」的 Web 基础功能学会排查 404、乱码等新手高频问题理解重定向的适用场景区分重定向与转发二拓展思考课堂延伸如何实现「记住密码」功能Cookie 知识点铺垫如何将固定账号密码改为数据库查询JDBC 拓展如何优化登录验证逻辑避免硬编码配置文件 / 常量类三下一步学习方向Servlet 生命周期Request/Response 更多 API 用法Session/Cookie 状态管理JSP 动态页面开发六、附课堂代码完整版可直接复制LoginServlet.java 完整代码login2.html 完整代码info.html 完整代码
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476538.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!