JSP整合SERVLET登陆小案例

JSP整合SERVLET登陆小案例

前言

19/3/2020

这几天每天太忙了,虽然学校没开学,但是每天线上需要处理的事情特别多。各种琐碎的事请一件一件的涌来,有点吃不消,学习进度就缓了下来。

前段时间学完了jsp和servlet,下面就是一个整合他两个的一个小例子,用来提升熟练度,和为后面的更多知识埋下伏笔(ajax,监听,过滤)。

ps:这几天也在跟b站一个大佬的Spring boot教程,很nice,即使我没接触过spring,springMVC之类的大型框架,只有一点点java web的基础看的也很津津有味,并不是特别难理解,所以说,学完java se的基础知识直接上手Spring boot 也是一个可行的道路。

但是就像葛优说的酒要一口一口喝,路要一步一步走,步子大了,喀,容易扯着蛋。所以我去看Spring boot教程纯粹是为了按捺不主自己的对它(Spring boot)的好奇,先去看看而已,还是以这边的java web为主以基础为主,慢慢来,以后该对它深入的时候再深入,现在只是简单的玩玩。

以上。


项目介绍和基本结构

ps*:目前并非完全体,现在只是很简单的几个功能,随着学习的深入,该小案例会越发丰满

项目名称

小新后台管理系统

项目需求

  1. 实现用户登陆
  2. 实现用户退出
  3. 实现用户注册
  4. 实现所有用户查询用户
  5. 实现删除用户

功能分析

  1. 用户登陆:

根据用户名和密码查询用户信息。查到登陆成功,查不到则登陆失败。

  1. 用户退出:

销毁session

  1. 用户注册

将用户注册信息插入数据库

数据库设计

用户表: t_user

  1. 用户id uid
  2. 用户名 uname
  3. 用户密码 pwd
  4. 用户性别 sex
  5. 用户年龄 age
  6. 出生日期 birthday

SQL语句设计

用户登陆:
select * from t_user where uname= ? and pwd = ?
用户注册:
insert into t_user values(default,?,?,?,?,?)


19/3/2020 17:56
在实现完service层和dao层的设计后,在controler层调用时候,出现了一个小问题,就是jdbc查询操作英文可以得到数据,中文一直返回null。
这个问题之前写案例的时候遇见过了当时解决方式在创建表的时候加上default charset=utf8,但是这一次居然不起作用。前前后后忙活了1个多小时还是没解决,查了好多办法,网上的解决方案千篇一律我几乎全尝试过了。
最后吧上个项目和这个小案例对比起来,唯一不同的地方就是之前的那个案例我是用IDEA内置的数据库连接系统创建的表,而这一次我是用的navicat创建的,然后我换回了IDEA内置的系统创建表。果不其然,真是navicat的锅,之前都去服务器上找毛病了,没想到居然是这个软件的锅。
不多bb直接卸载,以后直接用IDEA内置的数据库管理系统。
ps:IDEA nb!


MVC分层

写的有点狭义,jsp实现的是View的功能但是View不代表是jsp,jsp只是实现视图的一种方式,包括servlet实现的是控制层是一个道理。

  1. m:Model(模型):
  1. dao:控制数据库的底层
  2. service:业务
  3. prjo:实体类
  1. v:View(视图):jsp
  2. c:contrler(控制):servlet

小项目源码和演示地址

不出意外会实时更新
https://github.com/byfree-ui/jspandservlet
预览地址:(本来是test打错成text了QAQ将就一下)
http://123.56.31.86:8080/text_war/a

缺点及下一步方向

  1. jsp中获取servlet流转过来的数据比较麻烦
  2. jsp中使用java代码块书写或者阅读极为不便
  3. 使用session流转数据是很方便的但是如果session失效了所有依赖于session的功能也会失效
  4. 响应结果全是覆盖原来内容显示的(非ajax)

接下来就是jsp学习第二弹 el jstl ajax 监听 阻塞 学习

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.byfree.top/archives/jspandservlet