简单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 用于连接数据库及进行数据库 ...
随机推荐
- Java基础学习总结(36)——Java注释模板
代码注释是对代码设计者.代码阅读者以及系统间调用提供了有效的帮助,最大限度的提高团队开发合作效率增强系统的可维护性.我们追求简化,不是为了写注释而写注释. (快速使用请直接看六.七.八) 一.原则: ...
- [cf 599D] Spongebob and Squares
据题意: $K=\sum\limits_{i=0}^{n-1}(n-i)*(m-i)$ $K=n^2m-(n+m)\sum{i}+\sum{i^2}$ 展开化简 $m=(6k-n+n^3)/(3n^2 ...
- How to change java version in Linux
How to change default Java version on Linux Posted on November 1, 2015 by Dan Nanni Leave a comment ...
- 配置sublime text 前端环境
SublimeLinter是Sublime的一个代码检测工具插件.安装前台是配置好node环境 1,在sublime text安装 SublimeLinter 按下 Ctrl+Shift+p 进入 C ...
- memcached集群
借鉴:http://www.cnblogs.com/happyday56/p/3461113.html 首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Memcach ...
- myeclipse git 上下箭头表示什么
myeclipse git 上下箭头表示什么? 向上箭头表示本地有提交(commit),但是还没有推(push)到远程代码库中,旁边的数字表示本地commit的次数: 向下箭头表示你拉(fetch)下 ...
- loosejar原理简要分析
loosejar这个小工具能够动态分析出应用中有每一个jar包的实际使用情况,详情请參阅<通过loosejar清理应用中冗余的jar包>基本原理是利用instrumentation的特性用 ...
- spark streaming updateStateByKey 使用方法
updateStateByKey 解释: 以DStream中的数据进行按key做reduce操作,然后对各个批次的数据进行累加 在有新的数据信息进入或更新时.能够让用户保持想要的不论什么状.使用这个功 ...
- 如何杀掉(kill)Oracle中的会话(Session)
Oracle中造成一些表被死锁或者会话异常退出,如执行了更新记录操作后,既没有commit也没有rollback,网络就断开了,也会造表或记录被锁住,待到超时后才会被解开,那样都会造成应用操作被阻塞. ...
- @Component注解
@component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id=" " class=" "/>)泛指各 ...