一、人力资源的运行过程
1、先从WebContent中找到index.jsp文件(所有的jsp文件都在WebContent里)
然后跳转到lojin.jsp页面中,如果用户名或密码输入错误则会显示登陆失败界面。代码如下:
登录失败页面如下:
当我们点击submit类型的确认登录按钮时,会将表单中的input的数据提交给action="UserServlet?method=userLogin"。
就是将我们输入的用户名和密码提交给UserServlet类检查是否出错并且执行userLogin方法
当我们输入用户名和密码是,将这两个数据交给服务器存到requst。
输入用户名和密码后的登陆成功界面如下:
二、程序之间的调用关系
一个方法需要有四个要素:1、方法名 2、返回值类型 3、参数列表 4、方法体(方法的代码)
如果一个方法定义时没有定义方法体,那么这个方法就被称为抽象方法。抽象方法定义时,需要使用abstract关键字修饰。
如果一个类中,有一个方法是抽象方法,那么这个类就是抽象类,类定义时,也需要用abstract修饰。
如果一个类中,所有方法都是抽象方法,那么这个时候我们就可以不用class来定义这个类,用interface来定义。
这时,这个类就变成了接口,接口中的方法都是抽象方法,所以方法可以不用abstract修饰了。
接口只管定义方法的格式(1、方法名 2、返回值类型 3、参数列表)
那么这个方法要想具体能够有功能,操作数据库的数据,我们需要来实现接口。
定义一个类,让他去继承这个接口,这个过程叫做“实现”,用关键字implements。
数据结构分为三层架构:逻辑层、视图展示层、模型层。
UserService是一个里面定义了许多方法但没有方法体。
servlet属于逻辑层,用来控制程序,要通过模型层去访问数据库。
根据用户名去查找用户,根据username去访问user表。
UserServiceImpl类是UserService接口的实现类,在这个类中把接口里面的抽象方法一一实现,定义了具体的方法体。
@Override表示被继承的关系
数据库流程图如下:
从数据库查找数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现