使用junit测试框架,测试查找用户和添加用户功能

com.tsh.test.xmlUserDaoTest

package com.tsh.test;

import org.junit.Test;

import com.tsh.dao.XmlUserDao;
import com.tsh.domain.User;
/**
* 测试用例
* @author taoshihan
*
*/
public class xmlUserDaoTest {
@Test
public void testFindUserByUsername(){
XmlUserDao dao=new XmlUserDao();
User user= dao.findUserByUsername("taoshihan");
System.out.println(user);
}
@Test
public void testAddUser(){
XmlUserDao dao=new XmlUserDao();
User user=new User();
user.setUsername("taoshihan");
user.setPassword("123456");
dao.addUser(user);
}
}

在逻辑层service层中,抛出自定义异常

com.tsh.service.UserService

package com.tsh.service;

import com.tsh.dao.XmlUserDao;
import com.tsh.domain.User;
import com.tsh.exception.MsgException;
/**
* 用户逻辑
* @author taoshihan
*
*/
public class UserService {
/**
* 用户注册
* @param user
* @throws MsgException
*/
public void registerUser(User user) throws MsgException{
//检查用户名是否存在
XmlUserDao dao=new XmlUserDao();
if(dao.findUserByUsername(user.getUsername())!=null){
throw new MsgException("用户名已经存在");
}
dao.addUser(user);
}
}

在jsp中使用el标签判断登陆状态

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户中心</title>
</head>
<body>
<h1>用户中心</h1>
<hr>
<c:if test="${sessionScope.user==null }">
欢迎光临,游客!
<a href="${pageContext.request.contextPath }/login.jsp">登陆</a>
<a href="${pageContext.request.contextPath }/register.jsp">注册</a>
</c:if>
<c:if test="${sessionScope.user!=null }">
欢迎光临,${sessionScope.user.username }!
<a href="${pageContext.request.contextPath }/Servlet/logout">注销</a>
</c:if>
</body>
</html>

在Servlet中对发送过来的数据进行处理

com.tsh.web.LoginServlet

package com.tsh.web;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.tsh.dao.XmlUserDao;
import com.tsh.domain.User; /**
* 登陆处理
*/
public class LoginServlet extends HttpServlet {
/**
*/
public LoginServlet() {
super();
} /**
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("sss");
} /**
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
String username=request.getParameter("username");
String password=request.getParameter("password");
if("".equals(username) || "".equals(password==null)){
request.setAttribute("msg", "用户名和密码不能为空!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
return ;
}
XmlUserDao dao=new XmlUserDao();
User user=dao.findUserByUsername(username); if(user!=null && user.getPassword().equals(password)){
request.getSession().setAttribute("user", user);
response.getWriter().write("登陆成功!");
}else{
response.getWriter().write("用户名或密码错误");
}
} }

最新文章

  1. PLSQL Developer 连接oracle(64) (instantclient)错误及解决方案
  2. Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
  3. Nginx--&gt;基础--&gt;理论--&gt;002:Nginx进程介绍
  4. 最新《App Store审核指南》翻译
  5. 【java】:解析xml
  6. jQuery中each的用法之退出循环和结束本次循环
  7. 【LeetCode】198 - House Robber
  8. 协程coroutine
  9. jQuery和DOM对象之间的转换
  10. C++第13周(春)项目1 - 点、圆的关系
  11. PHP核心技术
  12. 如何实现Selenium自动化读取H5手机缓存
  13. Ansible的快速入门
  14. ARM+LINUX嵌入式系统的终端显示中文乱码解决
  15. 专访TK教主于旸:原来那些搞安全的说的都是真的(图灵访谈)
  16. NO.7:自学python之路------类的方法、异常处理、socket网络编程
  17. 作业要求20181204-7 Final阶段第1周/共1周 Scrum立会报告+燃尽图 02
  18. CentOS7.3 搭建Openvpn
  19. androidstudio提示adb错误:cannot parse version string:kg01的解决方法
  20. 如何判断SOCKET还是连接着的

热门文章

  1. js验证汉字正则表达式
  2. 【转】MVC,MVP 和 MVVM 的图示
  3. 理解webpack中的publicPath
  4. springboot项目,执行查询方法报错
  5. [原创]SSH密钥访问Git仓库配置
  6. EPC sequence
  7. JavaSwing概述
  8. OAuth2 .net MVC实现获取token
  9. Ubuntu中搭建git
  10. lucene原理