写在前面:菜鸟拙见,望请纠正

学过servlet的都知道,书本上一直说servlet一直作为控制器使用,它不实现view层,也不做具体的事务处理,那servlet到底是干什么的哪?怎么合理的用它呐??

1:首先我们先写一个登陆界面(源码下方有链接,这里谈谈效果)

1 <form class="login-from" action="${pageContext.request.contextPath }/user" id="loginfrom" method="post">
2 <input type="hidden" name="method" value="login">
3 。。。。。。
4 </form>

  提交的表单要注意,为了将整个表单的数据往一个servlet提交,这里我采用一个隐藏字段,添加method为login的方法

2:我们新建servlet并在web.xml中进行配置:通过配置表单由

<url-pattern>/user</url-pattern>----><servlet-name>UserServlet</servlet-name>----><servlet-name>UserServlet</servlet-name>---->
<servlet-class>com.xqc.chatroom.action.UserServlet</servlet-class>被传给了UserServlet
1   <servlet>
2 <servlet-name>UserServlet</servlet-name>
3 <servlet-class>com.xqc.chatroom.action.UserServlet</servlet-class>
4 </servlet>
5
6 <servlet-mapping>
7 <servlet-name>UserServlet</servlet-name>
8 <url-pattern>/user</url-pattern>
9 </servlet-mapping>

在新建的Userservlet中

看代码:Userservlet为了甩锅,说“这些小事我不能干啊,我是控制器,那UserService你来干吧!”然后顺利甩锅给Service

我们打开Service

1 public class UserService {
2
3 public User login(User user) {
4 UserDao dao = new UserDaoImple();
5 return dao.login(user);
6 }
7 }

Service一看,“妈呀这要访问数据库啊!我干不了,我也得找个人干这事!”于是Service来到了dao层找到UserDao

1 public interface UserDao {
2
3 public User login(User user);
4
5 }

UserDao听到说“我就是个空架子,你有事去找‘实现’去!”所以UserService就new UserDaoImple()

 1     public User login(User user) {
2 QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
3 String sql = "select * from user where username = ? and password = ?";
4 User existUser;
5 try {
6 existUser = queryRunner.query(sql, new BeanHandler<User>(User.class), user.getUsername(),user.getPassword());
7 } catch (SQLException e) {
8 e.printStackTrace();
9 throw new RuntimeException("用户登录失败!");
10 }
11 return existUser;
12
13 }

于是UserDaoImpl就联合JDBCUtils和老朋友c3p0实现了和数据库的交互然后把结果返回Service,Service也直接就把拿到的结果直接返回给servlet,然后servlet拿到结果,说“我明白了!控制就交给我吧!是有效的用户我就让他去main.jsp,不是我就让他滚蛋!”这次终于办了点正事不甩锅了!

1111

以登录实现理解Servlet+jsp+JavaBean开发的更多相关文章

  1. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  2. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  3. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  4. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  5. Servlet+JSP+JavaBean开发模式(MVC)介绍

    好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依 ...

  6. javaweb开发3.基于Servlet+JSP+JavaBean开发模式的用户登录注册

    转载孤傲苍狼博客http://www.cnblogs.com/xdp-gacl/p/3902537.html 1.层次比较分明的项目结构图

  7. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. 咸鱼入门到放弃11--Servlet+JSP+JavaBean开发模式

    本篇搬运了大佬blog:https://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servle ...

  9. MVC开发模式之Servlet+jsp+javaBean

    Servlet+jsp+JavaBean组合开发是一种MVC开发模式,控制器Controller采用Servlet.模型Model采用JavaBean.视图View采用JSP. 1.Web开发的请求- ...

随机推荐

  1. js实现放大镜的效果

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. Android可伸缩布局-FlexboxLayout(支持RecyclerView集成)

    Android可伸缩布局-FlexboxLayout(支持RecyclerView集成) 1 . 前言 前几天看到Google官方的博客介绍了Google开源的一个强大的布局-FlexboxLayou ...

  3. MyBatis -01- 初识 MyBatis + MyBatis 环境搭建

    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...

  4. APP之红点提醒三个阶段

    下面这个页面就是我们进入APP后的主界面.客户选项的红点上数字就是显示我们没有查看的客户总数量.   当我们切换到客户这个fragment时,会显示贷款客户数量与保险客户数量.   当我们随便点击入一 ...

  5. mysql navicat 及命令行 创建、删除数据库

    1.命令行创建数据库 create database mybatis default character set utf8 collate utf8_general_ci; drop database ...

  6. linux(centos7)下SVN服务器搭建手札

    linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...

  7. Prometheus Node_exporter 之 Basic Net / Disk Info

    1. Network Traffic Basic 每个接口的基本网络信息 type: GraphUnit: bytesrecv {{device}} 各个网络接口的下载量 recv lo: 本地环回接 ...

  8. Tomcat 安全设置 及 内存修改

    1.删除%tomcatRoot%/webapps目录下的examples.docs文件夹 2.修改%tomcatRoot%/conf/tomcat-users.xml <?xml version ...

  9. Redis(三)Redis基本命令操作与API

    一Redis 连接 Redis 连接命令主要是用于连接 redis 服务. 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1: ...

  10. Linux 新建用户和组命令

    用户的角色是通过UID和GID识别的. UID用户ID:相当于各为的身份证,在系统中是唯一的 GID组ID:相当于各为的家庭或者你们的学校. 1.新建用户及设置密码命令如下: useradd [参数] ...