以登录实现理解Servlet+jsp+JavaBean开发
写在前面:菜鸟拙见,望请纠正
学过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开发的更多相关文章
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- Servlet+JSP+JavaBean开发模式(MVC)介绍
好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依 ...
- javaweb开发3.基于Servlet+JSP+JavaBean开发模式的用户登录注册
转载孤傲苍狼博客http://www.cnblogs.com/xdp-gacl/p/3902537.html 1.层次比较分明的项目结构图
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 咸鱼入门到放弃11--Servlet+JSP+JavaBean开发模式
本篇搬运了大佬blog:https://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servle ...
- MVC开发模式之Servlet+jsp+javaBean
Servlet+jsp+JavaBean组合开发是一种MVC开发模式,控制器Controller采用Servlet.模型Model采用JavaBean.视图View采用JSP. 1.Web开发的请求- ...
随机推荐
- Eclipse 导入 Android studio Exception Ljava/lang/UnsatisfiedLinkEror
android studio compile fileTree(dir: 'libs', include: ['*.jar']) 没有加载so文件 main 下加入 jniLibs---so文件即可 ...
- 一步一步 Pwn RouterOS之ctf题练手
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文目的是以一道比较简单的 ctf 的练手,为后面的分析 Rout ...
- [C#] Microsoft .Net框架SerialPort类的用法与示例
从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序.本文将介绍如何在PC端用C# ...
- Apache服务器如何通过.htaccess文件设置防盗链?
Apache服务器通过.htaccess文件设置防盗链 用户经常面对的一个问题就是服务器的流量问题,而站点文件被盗链是其中最为主要的部分.所谓盗链,是指其他网站直接链接我们网站上的文件,一般来说,盗链 ...
- mysql(5.7.17)字符集设置(character_set/collation)
0 查看字符集(character_set/collation) use information_schema;desc tables; --一定记住tables表,information_sc ...
- GONMarkupParser的使用
GONMarkupParser的使用 说明 这是一个写得非常好的富文本工具类,便于你进行简易的封装.本人抛砖引玉,只进行了少量的简化使用封装. 效果 源码 https://github.com/nic ...
- 各个系统Docker安装
Ubuntu 1.Ubuntu 14.04及以上版本 Ubuntu 14.04版本官方软件源已经自带了Docker包,可以直接安装: $ sudo apt-get update $ sudo apt- ...
- ZT linux的mount(挂载)命令详解
linux的mount(挂载)命令详解 来源:互联网 作者:佚名 时间:09-08 17:02:27 [大 中 小] 点评:linux下挂载(mount)光盘镜像文件.移动硬盘.U盘.Window ...
- ZT C语言链表操作(新增单向链表的逆序建立)
这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...
- PHP设计模式系列 - 工厂模式
工厂模式 提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤. 工厂模式 实际上就是建立一个统一的类实例化的函数接口.统一调用,统一控制. 工厂模式是php项目开发中,最常用的设计 ...