JSP和Servlet配合使用的一个案例

本文档详细介绍了使用JSP和Servlet配合构建一个包含用户登录、退出和注册功能的后台管理系统。通过MVC模式,实现数据库操作,包括用户信息查询、存储和验证。文中还涉及到Servlet的动态调用、BaseServlet的抽取以及项目的总结和存在的问题,旨在帮助读者掌握JSP和Servlet的协同工作原理。
摘要由CSDN通过智能技术生成

学习主题:JSP和Servlet配合使用
学习目标:
1 掌握 JSP访问原理
2 掌握JSP引擎
3 掌握JSP指令

01登录页面创建和模版介绍和使用

1.1上机练习
1.1.1根据视频讲解添加前段标签快捷插件
1.1.2下载模板资源,熟悉模板中提供资源

02系统页面创建&系统需求分析

2.2 简答题
2.2.1 根据视频,请写出登录功能的实现思路?
项目名称:
卡塞尔学院后台管理
项目需求:
用户登录
用户退出
用户注册
功能分析:
用户登录:根据用户名和密码查询用户信息。查到则登录成功,查不到则登录失败。
用户退出:销毁session
用户注册:将该用户的信息存储到数据库
数据库设计:
创建用户表 t_user
用户 id uid
用户姓名 uname
用户密码 pwd
用户性别 sex
用户年龄 age
出生日期 birthday
SQL语句设计:
用户登录
select * from t_user where name=? and pwd=?
用户注册
insert into t_user values(default,?,?,?,?,?)
代码实现:
查看源代码

2.2.2 视频中要完成的三个功能需求分别是?
用户登录:根据用户名和密码查询用户信息。查到则登录成功,查不到则登录失败。
用户退出:销毁session
用户注册:将该用户的信息存储到数据库

2.3 编程题
2.3.1 根据视频讲解,独立完成主页面模板的套用实现。
03登录Servlet创建和MVC思想
3.1 编程题
3.2.1 根据视频中的需求分析,使用MySQL完成用户信息表的创建,将表创建语句和测试数据SQL作为答案
在这里插入图片描述
3.2.2 修改登录页面数据提交的action地址
截图作为答案
在这里插入图片描述
3.2.3 创建登录Servlet,并在Servlet完成编码设置,已经登录信息的获取的代码的编写,将实现代码粘贴作为答案

public class UserServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//设置请求编码格式
			req.setCharacterEncoding("utf-8");
		//设置响应编码格式
			resp.setContentType("text/html;charset=utf-8");
		//获取请求信息
			String uname=req.getParameter("uname");
			String pwd=req.getParameter("pwd");
		//处理请求信息
			System.out.println(uname+"--"+pwd);
		//响应处理结果
	}
}

3.2.4 修改登录页面中表单中用户名和密码提交的键名,,将修改后的表单代码粘贴作为答案

 <input type="text" class="input input-big" name="uname" placeholder="登录账号" data-validate="required:请填写账号" />

 <input type="password" class="input input-big" name="pwd" placeholder="登录密码" data-validate="required:请填写密码" />

3.2.5 简述MVC的编程思想及其好处
M:model service层和dao层和实体类层
V:view 视图层jsp页面等
C:controller 控制层servlet

04MVC实现登录查询用户信息(A)

4.3编程题
4.3.1 根据视频讲解,在项目中完成MVC中service层和Dao的创建,只需要完成接口及其实现类的创建,先不声明功能方法。
在这里插入图片描述
4.3.2 根据视频创建User实体类

package com.bjsxt.pojo;
import java.io.Serializable;
public class User implements Serializable {
	private int uid;
	private String uname;
	private String pwd;
	private String sex;
	private int age;
	private String birthday;
	public int getUid() {
		return uid;
	}
	public void setUid(int uid) {
		this.uid = uid;
	}
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getBirthday() {
		return birthday;
	}
	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result
				+ ((birthday == null) ? 0 : birthday.hashCode());
		result = prime * result + ((pwd == null) ? 0 : pwd.hashCode());
		result = prime * result + ((sex == null) ? 0 : sex.hashCode());
		result = prime * result + uid;
		result = prime * result + ((uname == null) ? 0 : uname.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		User other = (User) obj;
		if (age != other.age)
			return false;
		if (birthday == null) {
			if (other.birthday != null)
				return false;
		} else if (!birthday.equals(other.birthday))
			return false;
		if (pwd == null) {
			if (other.pwd != null)
				return false;
		} else if (!pwd.equals(other.pwd))
			return false;
		if (sex == null) {
			if (other.sex != null)
				return false;
		} else if (!sex.equals(other.sex))
			return false;
		if (uid != other.uid)
			return false;
		if (uname == null) {
			if (other.uname != null)
				return false;
		} else if (!uname.equals(other.uname))
			return false;
		return true;
	}
	@Override
	public String toString() {
		return "User [uid=" + uid + ", uname=" + uname + ", pwd=" + pwd
				
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值