案例46-crm练习客户登录
1 login.jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/frameset.dtd"> <HTML xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <STYLE type=text/css> BODY {FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: 宋体 } TD {FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: 宋体 } </STYLE><META content="MSHTML 6.00.6000.16809" name=GENERATOR></HEAD> <BODY> <FORM id=form1 name=form1 action="${pageContext.request.contextPath }/UserAction_login" method=post><DIV id=UpdatePanel1> <DIV id=div1 style="LEFT: 0px; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: #0066ff"></DIV> <DIV id=div2 style="LEFT: 0px; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: #0066ff"></DIV><DIV> </DIV> <DIV> <TABLE cellSpacing=0 cellPadding=0 width=900 align=center border=0><TBODY><TR><TD style="HEIGHT: 105px"><IMG src="data:images/login_1.gif" border=0></TD></TR><TR><TD background=images/login_2.jpg height=300><TABLE height=300 cellPadding=0 width=900 border=0><TBODY><TR><TD colSpan=2 height=35></TD></TR><TR><TD width=360></TD><TD><TABLE cellSpacing=0 cellPadding=2 border=0><TBODY><TR><TD style="HEIGHT: 28px" width=80>登 录 名:</TD><TD style="HEIGHT: 28px" width=150><INPUT id=txtName style="WIDTH: 130px" name="user_code"></TD><TD style="HEIGHT: 28px" width=370><SPAN id=RequiredFieldValidator3 style="FONT-WEIGHT: bold; VISIBILITY: hidden; COLOR: white">请输入登录名</SPAN></TD></TR><TR><TD style="HEIGHT: 28px">登录密码:</TD><TD style="HEIGHT: 28px"><INPUT id=txtPwd style="WIDTH: 130px" type=password name="user_password"></TD><TD style="HEIGHT: 28px"><SPAN id=RequiredFieldValidator4 style="FONT-WEIGHT: bold; VISIBILITY: hidden; COLOR: white">请输入密码</SPAN></TD></TR><TR><TD style="HEIGHT: 28px">验证码:</TD><TD style="HEIGHT: 28px"><INPUT id=txtcode style="WIDTH: 130px" name=txtcode></TD><TD style="HEIGHT: 28px"> </TD></TR><TR><TD style="HEIGHT: 18px"></TD><TD style="HEIGHT: 18px"><span style="color:red"><s:property value="exception.message"/></span></TD><TD style="HEIGHT: 18px"></TD></TR><TR><TD></TD><TD><INPUT id=btn style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" type=image src="data:images/login_button.gif" name=btn> </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR><TR><TD><IMG src="data:images/login_3.jpg" border=0></TD></TR></TBODY></TABLE></DIV></DIV> </FORM> <s:debug></s:debug> </BODY></HTML>
2 UserAction
package www.test.web.action;import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven;import www.test.domain.User; import www.test.service.UserService; import www.test.service.impl.UserServiceImpl;public class UserAction extends ActionSupport implements ModelDriven<User> {private User user = new User();private UserService us = new UserServiceImpl();public String login() throws Exception {//1 调用Service 执行登陆操作User u = us.login(user);//2 将返回的User对象放入session域作为登陆标识ActionContext.getContext().getSession().put("user", u);//3 重定向到项目的首页return "toHome";}@Overridepublic User getModel() {return user;} }
3 UserServiceImpl
package www.test.service.impl;import www.test.dao.UserDao; import www.test.dao.impl.UserDaoImpl; import www.test.domain.User; import www.test.service.UserService; import www.test.utils.HibernateUtils;public class UserServiceImpl implements UserService {private UserDao ud = new UserDaoImpl();@Overridepublic User login(User user) {//打开事务 HibernateUtils.getCurrentSession().beginTransaction();//1.调用Dao根据登陆名称查询User对象User existU = ud .getByUserCode(user.getUser_code());//提交事务 HibernateUtils.getCurrentSession().getTransaction().commit();if(existU==null){//获得不到=>抛出异常提示用户名不存在throw new RuntimeException("用户名不存在!");}//2 比对密码是否一致if(!existU.getUser_password().equals(user.getUser_password())){//不一致=>抛出异常提示密码错误throw new RuntimeException("密码错误!");}//3 将数据库查询的User返回return existU;} }
4 UserDaoImpl
package www.test.dao.impl;import org.hibernate.Query; import org.hibernate.Session;import www.test.dao.UserDao; import www.test.domain.User; import www.test.utils.HibernateUtils;public class UserDaoImpl implements UserDao {@Overridepublic User getByUserCode(String user_code) {//HQL查询//1.获得SessionSession session = HibernateUtils.getCurrentSession();//2 书写HQLString hql = "from User where user_code = ? ";//3 创建查询对象Query query = session.createQuery(hql);//4 设置参数query.setParameter(0, user_code);//5 执行查询User u = (User) query.uniqueResult();return u;}}
5 struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"> <struts><!-- 指定struts2是否以开发模式运行1.热加载主配置.(不需要重启即可生效)2.提供更多错误信息输出,方便开发时的调试--><constant name="struts.devMode" value="true"></constant><package name="crm" namespace="/" extends="struts-default" ><global-exception-mappings><!-- 如果出现名为java.lang.RuntimeException的异常,就跳转到名为error的结果 --><exception-mapping result="error" exception="java.lang.RuntimeException"></exception-mapping></global-exception-mappings><action name="CustomerAction_*" class="www.test.web.action.CustomerAction" method="{1}" ><result name="list" >/jsp/customer/list.jsp</result><result name="toList" type="redirectAction"><param name="actionName">CustomerAction_list</param><param name="namespace">/</param></result></action><action name="UserAction_*" class="www.test.web.action.UserAction" method="{1}" ><result name="toHome" type="redirect">/index.htm</result><result name="error" type="dispatcher">/login.jsp</result></action></package> </struts>
转载于:https://www.cnblogs.com/jepson6669/p/8530926.html
案例46-crm练习客户登录相关推荐
- 基于 Python/Vue/D2 实现的CRM管理系统(客户管理,产品管理,商机管理,合同管理,客户公海,权限管理等业务模块)
目录 一.系统概述 业务模块 部署方式 二.效果展示 登录页面 客户页面 联系人 产品类目 产品 合同 消息中心 供应商 客户公海 三.关键代码 后端 http 使用 python django 后端 ...
- C语言 项目 CRM系统(客户信息管理系统)
项目目标 项目需求说明 系统界面 1)添加客户界面 通过编号来区分客户 2)删除客户界面 对用户输入的编号进行核查,存在与否,合法与否 3)显示客户列表界面 4)修改客户信息的界面 项目设计 Cust ...
- php修改学生信息代码_值得收藏的CRM软件客户管理系统(包括JAVA/PHP)
悟空CRM是一款永久开源免费的CRM管理系统,悟空CRM-基于JAVA/TP5.0+vue+ElementUI的前后端分离CRM系统 ,悟空CRM是基于JAVA/PHP多语言的B/S架构的管理软件,为 ...
- mysql 登录默认实例_【MySQL案例】mysql本机登录-S失灵_mysql
[mysql案例]mysql本机登录-S失效 1.1.1. mysql本机登录mysql时,-S参数失效 [环境描述] mysql5.5.14 [问题描述] 配置了多实例 实例1 实例2 datadi ...
- 利用CRM系统分析客户数据
客户是企业生存发展的根本,"客户就是上帝"是从古至今的至理名言.在信息化技术时代里,众多企业纷纷启动CRM客户管理系统,期望通过CRM系统的专业客户管理效能,提高企业整体客户管理效 ...
- 知客CRM:客户关系管理2.0
互联网的Web2.0,从博客到大大小小的点评网站,大家都不陌生,相对于Web1.0而言,Web2.0更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者.下面我们来看这个例子,某公司推 ...
- 中小企业如何用在线CRM留住客户
客户是企业生产发展的根本.企业的所有经营活动归根到底都是为围绕"客户"展开.开发潜在客户.将潜在客户变为客户,将新客户变为老客户,让老客户实现多次购买--那么企业究竟该如何让自己的 ...
- 企业如何用CRM软件客户管理自动化优化流程?
假如企业需要利用CRM软件来对自己的客户实施一系列的管理维护流程,那么客户服务自动化是个必选的功能流程,如果没有服务自动化流程,那么CRM软件就成了一个普通客户资料信息管理工具,只能被用于储存调用客户 ...
- 图解CRM(客户关系管理)全流程
在不同场合下,CRM(客户关系管理)可能是一个管理学术语,也可能是一个软件系统.我们通常所指的CRM,指用计算机自动化分析销售.市场营销.客户服务以及应用等流程的软件系统.通俗地说,CRM就是利用软件 ...
- python数据建模案例源代码_一个完整的数据分析案例 | 用Python建立客户流失预测模型(含源数据+代码)...
原标题:一个完整的数据分析案例 | 用Python建立客户流失预测模型(含源数据+代码) 来源:数据分析不是个事儿 作者:启方 原文: https://mp.weixin.qq.com/s/_20MN ...
最新文章
- Silverlight学习笔记之文字特效之ImageBrush
- Winform中实现点击按钮弹窗输入密码验证通过后执行相应逻辑
- hiveserver2启动不起来_一辆顶杆机电启动很响,不好打火,有时空挡指示灯较暗...
- Oracle中Null与空字符串' '的区别
- 前端学习(238):IE低版本常见bug
- android stepview 京东,Android-Android-OpenAPI SDK-帮助文档-京东云
- idea中Mark Directory as的几个选项详解
- CSS 的三个特性:层叠性、继承性、优先级
- C语言:复制线性链表(递归)算法
- 单像空间后方交会的程序实现
- springboot学习(下)
- vue-element-admin 框架结构粗解
- 机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?...
- 【docker入门】
- Pycharm下载MaxCompute过程
- Android clippling使用
- OpenCV图形图像击中击不中HITMISS变换处理基础知识
- 三年亏损14亿,想在纽交所上市的爱回收,靠做旧生意能拼过闲鱼和转转吗?
- Form derives from Form
- 时间空间复杂度(入门篇)——数据结构与算法
热门文章
- ospf 实验笔记(二)
- Springboot版本+ Spring Framework版本 + jdk版本 + Maven版本
- Unrecognized option: -javaagent
- Fletcher-Reevers Conjugate Descent和Steepest Descent两种算法中伪代码的区别
- 市面上的hadoop书籍调研
- intellij运行spark的maven方式运行WordCount
- ubuntu下面codelite运行代码一闪而过的问题、codelite的代码排版快捷键、去掉xfce4的Ctrl+F5
- mesh threejs 属性_threeJS创建mesh,创建平面,设置mesh的平移,旋转、缩放、自传、透明度、拉伸...
- php 超链接新页面打开新页面,Typecho 超链接默认新窗口打开
- fs7宽容度_《如果蜗牛有爱情》,FS7拍出电影级质感!