所用到的知识点:
MySQL数据库与servlet与jsp知识点整合(这里用到mybatis框架)
案列截图:
根据用户登录的账号和信息,从数据库中进行判断,如果有登录成功跳转到别的页面,如果数据库中没有用户,登录不成功。
注册界面:
注册界面,将注册的信息交给servlet处理,servlet将数据储存到数据库中
登录成功截图:
在浏览器中输入:
http://localhost:8080/mybatis/login.jsp mybatis是我的项目的虚拟名
项目中的jar包需要的告诉我
核心配置文件 mybatis.xml:
<?xml version="1.0" encoding="UTF-8"?>
连接数据库配置文件db. properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/project
username=root
password=root
日文文件 log4j.propertie
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=ERROR, CONSOLE
#log4j.rootCategory=DEBUG, CONSOLE, LOGFILE
#局部定制日志输入级别,定制日志输出
#包名+类名+方法
#log4j.logger.com.mybaties.mapper.UserMapper.selOne=DEBUG
#包名+类名
#log4j.logger.com.mybaties.mapper.UserMapper=DEBUG
#包名
log4j.logger.com.sxt.mapper=DEBUG
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:/test.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=- %m %l%n
工具包中类:
package
数据访问层接口:
package
数据访问层映射文件:
<?xml version="1.0" encoding="UTF-8"?>
实体类:
package
业务层接口:
package
业务层实现类:
package
实现层封装的抽象方法:(所用的servlet共用)
package
实现层:
package
jsp代码:登录成功显示的页面中小窗口
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="renderer" content="webkit">
<title>网站信息</title>
<link rel="stylesheet" href="css/pintuer.css">
<link rel="stylesheet" href="css/admin.css">
<script src="js/jquery.js"></script>
<script src="js/pintuer.js"></script>
</head>
<body>
<div class="panel admin-panel">
<div class="panel-head"><strong><span class="icon-pencil-square-o"></span> 网站信息</strong></div>
<div class="body-content">
<form method="post" class="form-x" action="">
<div class="form-group">
<div class="label">
<label>网站标题:</label>
</div>
<div class="field">
<input type="text" class="input" name="stitle" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>网站LOGO:</label>
</div>
<div class="field">
<input type="text" id="url1" name="slogo" class="input tips" style="width:25%; float:left;" value="" data-toggle="hover" data-place="right" data-image="" />
<input type="button" class="button bg-blue margin-left" id="image1" value="+ 浏览上传" >
</div>
</div>
<div class="form-group">
<div class="label">
<label>网站域名:</label>
</div>
<div class="field">
<input type="text" class="input" name="surl" value="" />
</div>
</div>
<div class="form-group" style="display:none">
<div class="label">
<label>副加标题:</label>
</div>
<div class="field">
<input type="text" class="input" name="sentitle" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>网站关键字:</label>
</div>
<div class="field">
<textarea class="input" name="skeywords" style="height:80px"></textarea>
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>网站描述:</label>
</div>
<div class="field">
<textarea class="input" name="sdescription"></textarea>
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>联系人:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_name" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>手机:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_phone" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>电话:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_tel" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group" style="display:none;">
<div class="label">
<label>400电话:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_400" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>传真:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_fax" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>QQ:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_qq" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group" style="display:none">
<div class="label">
<label>QQ群:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_qqu" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>Email:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_email" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>地址:</label>
</div>
<div class="field">
<input type="text" class="input" name="s_address" value="" />
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label>底部信息:</label>
</div>
<div class="field">
<textarea name="scopyright" class="input" style="height:120px;"></textarea>
<div class="tips"></div>
</div>
</div>
<div class="form-group">
<div class="label">
<label></label>
</div>
<div class="field">
<button class="button bg-main icon-check-square-o" type="submit"> 提交</button>
</div>
</div>
</form>
</div>
</div>
</body></html>
登录jsp代码:
<%@
登录成功的主页面:
<%@ page language="java" import="java.util.*,com.sxt.pojo.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="renderer" content="webkit">
<title>后台管理中心</title>
<link rel="stylesheet" href="css/pintuer.css">
<link rel="stylesheet" href="css/admin.css">
<script src="js/jquery.js"></script>
<script type="text/javascript">
$(function(){
//获取退出的a便签id
$("#out").click(function(){
return window.confirm("亲确定要退出!");
/* window.confirm("亲确定要退出!")因为这个结果 返回为boolean类型,如果是false,会
阻断href属性
*/
})
})
</script>
</head>
<body style="background-color:#f2f9fd;">
<div class="header bg-main">
<div class="logo margin-big-left fadein-top">
<h1><img src="images/y.jpg" class="radius-circle rotate-hover" height="50" alt="" />后台管理中心</h1>
</div>
<div class="head-l" style="position: relative; left: 950px"><span style="color: white; font-size: 18px;">当前用户:<%=session.getAttribute("uname")%></span> <a id="out" class="button button-little bg-red" href="data?method=userOut"><span class="icon-power-off"></span> 退出登录</a> </div>
</div>
<div class="leftnav">
<div class="leftnav-title"><strong><span class="icon-list"></span>菜单列表</strong></div>
<h2><span class="icon-user"></span>基本设置</h2>
<ul style="display:block">
<li><a href="info.html" target="right"><span class="icon-caret-right"></span>网站设置</a></li>
<li><a href="pass.html" target="right"><span class="icon-caret-right"></span>修改密码</a></li>
<li><a href="page.html" target="right"><span class="icon-caret-right"></span>单页管理</a></li>
<li><a href="adv.html" target="right"><span class="icon-caret-right"></span>首页轮播</a></li>
<li><a href="book.html" target="right"><span class="icon-caret-right"></span>留言管理</a></li>
<li><a href="column.html" target="right"><span class="icon-caret-right"></span>栏目管理</a></li>
</ul>
<h2><span class="icon-pencil-square-o"></span>栏目管理</h2>
<ul>
<li><a href="list.html" target="right"><span class="icon-caret-right"></span>内容管理</a></li>
<li><a href="add.html" target="right"><span class="icon-caret-right"></span>添加内容</a></li>
<li><a href="cate.html" target="right"><span class="icon-caret-right"></span>分类管理</a></li>
</ul>
</div>
<script type="text/javascript">
$(function(){
$(".leftnav h2").click(function(){
$(this).next().slideToggle(200);
$(this).toggleClass("on");
})
$(".leftnav ul li a").click(function(){
$("#a_leader_txt").text($(this).text());
$(".leftnav ul li a").removeClass("on");
$(this).addClass("on");
})
});
</script>
<ul class="bread">
<li><a href="{:U('Index/info')}" target="right" class="icon-home"> 首页</a></li>
<li><a href="##" id="a_leader_txt">网站信息</a></li>
<li><b>当前语言:</b><span style="color:red;">中文</php></span>
切换语言:<a href="##">中文</a> <a href="##">英文</a> </li>
</ul>
<div class="admin">
<iframe scrolling="auto" rameborder="0" src="info.jsp" name="right" width="100%" height="100%"></iframe>
</div>
<div style="text-align:center;">
<p>来源:<a href="http://www.mycodes.net/" target="_blank">源码之家</a></p>
</div>
</body>
</html>
注册页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="renderer" content="webkit">
<title></title>
<link rel="stylesheet" href="css/pintuer.css">
<link rel="stylesheet" href="css/admin.css">
<script src="js/jquery.js"></script>
<script src="js/pintuer.js"></script>
<!-- 操作属性 -->
<script type="text/javascript">
$(function(){
//获取男的label标签
$("#man").click(function(){
// alert("aaa");
//给女的除掉样式
$("#womanspan").removeClass("icon-check");
//男的添加样式
$("#manspan").addClass("icon-check")
})
//获取女的label标签
$("#woman").click(function(){
//alert("bbbbbaaa");
//给女的添加样式
$("#womanspan").addClass("icon-check");
//男的除掉样式
$("#manspan").removeClass("icon-check");
})
})
</script>
</head>
<body>
<div class="panel admin-panel">
<div class="body-content">
<form method="post" class="form-x" action="data">
<!-- 隐藏域 -->
<input type="hidden" name="method" value="userReg"/>
<center>
<h2>用户注册</h2>
</center>
<hr>
<div class="form-group">
<div class="label">
<label for="sitename">用户名:</label>
</div>
<div class="field">
<input type="text" class="input w50" id="mpass" name="uname"
size="50" placeholder="请输入用户名" data-validate="required:请输入用户名" />
</div>
</div>
<div class="form-group">
<div class="label">
<label for="sitename">新密码:</label>
</div>
<div class="field">
<input type="password" class="input w50" name="pwd" size="50"
placeholder="请输入新密码"
data-validate="required:请输入新密码,length#>=5:新密码不能小于5位" />
</div>
</div>
<div class="form-group">
<div class="label">
<label for="sitename">确认新密码:</label>
</div>
<div class="field">
<input type="password" class="input w50"
size="50" placeholder="请再次输入新密码"
data-validate="required:请再次输入新密码,repeat#pwd:两次输入的密码不一致" />
</div>
</div>
<!-- 性别 -->
<div class="form-group">
<div class="label">
<label>性别:</label>
</div>
<div class="field">
<div class="button-group radio">
<label class="button active" >
<span class="icon-check" id="manspan"></span>
<input name="sex" value="1" type="radio" checked="checked" id="man"/>男
</label>
<label class="button active" >
<span class="" id="womanspan"></span>
<input name="sex" value="0" type="radio" id="woman"/>女
</label>
</div>
</div>
</div>
<!--年龄 -->
<div class="form-group">
<div class="label">
<label for="sitename">用户年龄:</label>
</div>
<div class="field">
<input type="text" class="input w50" id="mpass" name="age"
size="50" placeholder="请输入年龄" />
</div>
</div>
<!-- 出生日期 -->
<div class="form-group">
<div class="label">
<label for="sitename">出生日期:</label>
</div>
<div class="field">
<input type="date" class="input w50" id="mpass" name="birthday"
size="50" placeholder="请输入出生日期" data-validate="required:请输入出生日期" />
</div>
</div>
<div class="form-group">
<div class="label">
<label></label>
</div>
<div class="field">
<button class="button bg-main icon-check-square-o" type="submit">
提交</button>
</div>
</div>
</form>
</div>
</div>
</body>
</html>