zoukankan      html  css  js  c++  java
  • 以登录实现理解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

  • 相关阅读:
    xamarin开发UWP元素的初始化设置顺序
    MailKit---状态更改和删除
    MailKit---获取邮件
    xamarin MasterDetailPage点击Master时卡顿现象
    xamarin UWP ActivityIndicator
    wpf ListView DataTemplate方式的鼠标悬停和选中更改背景色
    wpf Webbrowser 乱码问题及弹窗被遮挡
    47.go get安装库以及gopm替换方式——2020年04月12日21:04:30
    46.GRPC初识——2020年04月12日20:45:43
    45.解决github仓库下载慢问题——2020年04月12日
  • 原文地址:https://www.cnblogs.com/nullering/p/7582665.html
Copyright © 2011-2022 走看看