用户系统
- 一 整个系统的结构图
- 二 准备工作
-
- 1.需要用到的工具
- 2.需要工作
- 三 实现步骤
-
- 1.JSP页面编写
- 2.servlet的编写
- 3.用户查询功能(这里需要用到jstl和el表达式)
- 4.如何实现拦截,什么是拦截?
-
- 1.什么是拦截?
- 2.如何实现拦截
- 四 完结撒花
一 整个系统的结构图
首先确认登录系统的框架如下
注册可以是和登录同级的,注册功能比较单一所有主要重心放在登录页面上
登录成功将添加Session可用于后续获取是否登录状态从而进行拦截等操作,注销则删除Session删除数据库中的数据,查询则需要用到jstl和el表达式打印在页面上,而注销需要在数据库增加用户输入的数据
二 准备工作
1.需要用到的工具
工具包 | 包源 |
---|---|
MySql工具包 | mysql-connector-java-5.1.49.jar |
jstl工具包 | jstl.jar |
servlet工具包 | 这个在Tomucat文件中的lib里面 |
standard工具包 | standard.jar |
注意:这里所有包都要放入web文件的WEB-INF里面
2.需要工作
封装好JDBC
配置Tomucat服务器
创建MySql数据库、表
三 实现步骤
1.JSP页面编写
首先写出首页,即登录页面,使用form标签编写表单获取用户输入的数据,action即该表单映射的servlet文件,通俗来说例如:servlet文件写了/a,jsp文件中的表单也写了/a则这个servlet可以编写一些代码来操控jsp,method则是返回的方法,如我这里是post,那我们就可以在servlet中的dopost方法获取表单的数据或编写某些程序,如果没有声明则会默认在doget方法。
按钮中的type:"submit"意思是提交表单,则是运行所映射的servlet文件,而注册的跳转则是使用a标签,因为注册页面是可以和登录同级,并不需要做拦截之类的操作。
接下来就是登录失败的页面
至于登录成功的页面,要实现以上修改密码、查询用户、注销的分支操作
这里所映射的路径为 “/true” ,登录成功嘛顾名思义就是true,统一返回post,提交按钮要设置一个名字,因为这三个操作是同级的所有起同样的名字,但是要给他们设置不一样的值可以供servlet判断,从而进行不同的操作,就像人可以有相同的名字但是不能有同样的身份证
2.servlet的编写
首先要注册servlet即 @WebServlet(JSP所映射的路径),然后继承HttpServlet,如下:
@WebServlet("/login")
public class login extends HttpServlet {
}
然后点击快捷键 Ctrl+O重写继承下来的doGet和doPost方法
注意:要删除父类的方法,即super
@WebServlet("/login")
public class login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);//删除此行
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);//删除此行
}
}
然后在doPost方法中使用封装好的JDBC类,这里要用try–catch语句抛出异常
try {
Connection connection= jdbclib.getConnection();
Statement statement=jdbclib.getStatement(connection);