简单servlet调用dao层完整步骤
导入包lib(文件名称)
目录结构:web下:views、web-inf、index.jsp
views下各种jsp文件和js(里面放封装好的jquery包)
js下:jquery包(js文件后缀)
web-inf目录下:classes(编译输出路径)、lib、 web.xml
首先编写index.jsp文件
<form method="post" action="/touhou/isLogin">
<input type="text" required name="admin" ><br/><br/>
<input type="password" required name="password" ><br/><br/>
<span id="errorMessage"> ${error}</span><br/><br/>
<input type="submit" value="LinkStart">
</form>
接着响应表单提交的servlet “isLogin”
package com.aaa.servlet; import com.aaa.dao.IUserDAO;
import com.aaa.dao.impl.UserDAOImpl; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map; @WebServlet("/isLogin")
public class IsLoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码格式为UTF-8
req.setCharacterEncoding("UTF-8");
//将表单中获取到的元素提取出来
String admin=req.getParameter("admin");
String password=req.getParameter("password");
//将这些元素引入dao层进行比对
IUserDAO userDAO = new UserDAOImpl();
Map<String, Object> map = userDAO.isLogin(admin, password);
//查看比对结果并进行相应后续处理
if(map!=null){
//map不为空时设置map属性值并请求转发到登陆成功的主页
req.setAttribute("map",map);
System.out.println(map);
req.getRequestDispatcher("/views/loginSuccess.jsp").forward(req,resp);
}else {
//失败时将错误信息传递给
req.setAttribute("error","账号或者密码不正确");
req.getRequestDispatcher("/index.jsp").forward(req,resp);
} }
}
当然,最后判断是否成功
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: //
Time: :
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%--进行list循环时需要用到的--%>
<html>
<head>
<title>Title</title>
</head>
<%--添加jquery代码实现--%>
<script src="js/jquery-2.1.0.js"></script>
<body>
<span>欢迎你,可爱的${map.mininame}</span>
</body>
</html>
简单servlet调用dao层完整步骤的更多相关文章
- 代码分层之模拟servlet调用dao
一:代码分层 com.guangming.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据com.guangming.servlet 存放servlet相 ...
- controller层负责创建类传递类给service;service层负责逻辑编写调用dao层 将编写后的类传递到dao层,保证事务的正确性;dao层负责数据的持久化
controller层负责创建类传递类给service:service层负责逻辑编写调用dao层 将编写后的类传递到dao层,保证事务的正确性:dao层负责数据的持久化
- SSH 项目中 用Hibernate底层 简单的封装DAO层
废话不多少了,主要是使用hibernate的查询方法,自己封装了DAO层,供service来方便使用. 首先:必须要继承的 public class CommonDao extends Hiberna ...
- springboot 项目中在普通类中调用dao层的mapper 出现空指针异常
项目中我遇到同样的问题 特记载一下 有两种方式 一. 该类使用@Component注解 添加一个本类类型的静态字段 创建一个初始化方法,贴上@PostConstruct 标签,用于注入bean 创建方 ...
- Spring main方法中怎么调用Dao层和Service层的方法
在web环境中,一般serviceImpl中的dao之类的数据库连接都由容器启动的时候创建好了,不会报错.但是在main中,没有这个环境,所以需要获取环境: ApplicationContext ct ...
- Spring 控制器层如何调用DAO层
1.写上注解 @Autowired 2.声明一个变量 private UserDao userDao; 3.注意!Spring里面数据库对象操作类不需要实例化就能调用
- 【service调用dao层传参的三种方式】
第一种方案:默认数组角标: service Public User selectUser(String name,String area); mapper: <select id="s ...
- Servlet里面一调用Dao里的某个方法
背景: 这几天,由于项目集成的需要,我要在doFilter里调用dao层里的某些方法,可是总之报空指针,只要调用那个dao方法,就报错误.很是纳闷,网上查找了各种原因,终于让我给突破了,看来还是Jav ...
- jsp+servlet+javaBean+Dao
一.Servlet程序各模块介绍1.JSP 用于显示.收集数据的部分.2.Servlet 用于验证数据.实例化JavaBean.调用DAO连接数据库.控制页面跳转3.DAO 用于连接数据库及进行数据库 ...
随机推荐
- debug jdk source can't watch variable what it is
https://www.cnblogs.com/shuaiqing/p/7525841.html https://stackoverflow.com/questions/18255474/debug- ...
- sqlyog
https://github.com/webyog/sqlyog-community/wiki/Downloads
- insert into varchar2(8000)
在看12c的文档的时候发现varcahr2最大长度是4000 byte VARCHAR2 Data Type The VARCHAR2 data type specifies a variable-l ...
- IBM CEO罗睿兰:科技公司屹立百年的3个秘诀
假设有不论什么科技公司能够完美阐释"转型"这个词的含义,那么这家公司非创立103年的IBM莫属. 如今,它的变化更胜以往. 在<財富>杂志周二于美国加利福尼亚州拉古纳尼 ...
- 阿里2016实习offer五面经验与总结
前言 眼下楼主已经拿到阿里实习offer,一共经历了5次面试,当中4轮技术面.1轮HR面试.在这里分享一下自己的面试经验和学习总结.写这篇面经主要是希望可以帮助很多其它的小伙伴.我本科毕业于中南大学信 ...
- 【你你你你在开玩笑吧】什么叫凭借纯兴趣搞ACM?涨姿势了
好长时间不扯淡了,今天扯个玩玩,吐个槽. 在上海回济南的列车上,回顾起这两天在携程codingtrip颁奖仪式上大牛们的种种心得,姿势涨了不少,着实涨了不少啊.我这样的渣渣毕竟图样图森 ...
- linux sed 命令,sed -i
-i 参数 :直接在原文件上进行操作整条语句意思是将b.c文件里第一个匹配printa替换为printb
- 树形 DP 总结
树形 DP 总结 本文转自:http://blog.csdn.net/angon823/article/details/52334548 介绍 1.什么是树型动态规划 顾名思义,树型动态规划就是在“树 ...
- bzoj2503 相框——思路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2503 思路题: 首先,这种问题应该注意到答案只跟度数有关,跟其他什么连接方法之类的完全无关: ...
- 胜利大逃亡(续)(bfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1429 #include <stdio.h> #include <queue> #incl ...