简单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 用于连接数据库及进行数据库 ...
随机推荐
- Mysql学习总结(40)——MySql之Select用法汇总
一.条件筛选 1.数字筛选:sql = "Select * from [sheet1$] Where 销售单价 > 100" 2.字符条件:sql = "Selec ...
- [COGS 2264]魔法传输
[COGS 2264]魔法传输 题目 自从看了<哈利波特>,小Y就十分渴望获得魔法值.于是他和一群向往魔法的孩子(当然这些孩子们都是不会魔法的)来到了哈利波特的家,大家坐成一排.哈利波特会 ...
- hdu 2242双联通分量+树形dp
/*先求出双联通缩点,然后进行树形dp*/ #include<stdio.h> #include<string.h> #include<math.h> #defin ...
- 洛谷 P2959 [USACO09OCT]悠闲漫步The Leisurely Stroll
P2959 [USACO09OCT]悠闲漫步The Leisurely Stroll 题目描述 Bessie looks out the barn door at the beautiful spri ...
- ASP.NET—016:ASP.NET中保存文件对话框
本想在asp.net中使用savediallog保存文件,结果提示:当应用程序不是以 UserInteractive 模式执行时显示模式对话框或窗口是无效操作. 在ASP.NET中使用例如以下方式.保 ...
- 改动虚拟机镜像的rootpassword
有时从网上下载的虚拟机镜像.没有rootpassword,必须通过秘钥登录.然后秘钥又须要麻烦的注入到里面去.想用,却无法登录.非常头痛.本文提供一种通过改动虚拟机镜像里面的/etc/shadow文件 ...
- Pycharm之Terminal使用
相当于doc命令,即工程所在目录shift+右键命令窗口打开的doc 1.清屏 ------ cls 清除屏幕上的所有显示,光标置于屏幕左上角.
- Android - Error: "java.io.IOException: setDataSource failed.: status=0x80000000"
Error: "java.io.IOException: setDataSource failed.: status=0x80000000" 本文地址: http://blog.c ...
- HDU 5536/ 2015长春区域 J.Chip Factory Trie
Chip Factory Problem Description John is a manager of a CPU chip factory, the factory produces lots ...
- android.os.Process.killProcess(android.os.Process.myPid())与Activity生命周期的影响
如果通过finish方法结束了一个Activity,那么根据Activity的生命周期,则会自动调用Activity的销毁方法onDestory(),但是在项目中遇到这样的一个问题,就是Activi ...