用ide实现简单的登录,增删改查
来源:互联网 发布:java web项目搭建教程 编辑:程序博客网 时间:2024/05/22 17:47
博客系统项目文档
一.数据库表结构
1.建表要求
A.需要见管理员登录表
B.需要建博客信息表(博客地址必须为真实的博客地址)
2.表结构图
A.管理员登录表
B.博客信息表
3.所用工具
A.BaseDao
4.实体类
a.管理员类
b.博客信息类
c.Page类
二.登录
1.登录效果图
A.点击Please Click Enter进入登录界面
B.输入登录账号和密码
B.点击立即登陆进入主界面
2.登录实现思路
A.首先在dao层从数据库中查询出要登录的名和密码
B.在页面和servlet之间进行绑定,是现在页面中登录名和密码的匹配,实现登录功能
3.登录实现代码
A.dao层
实现:Imp://用户登录
public boolean Login(blog bl)throwsException {
booleanflag=false;
String sql="SELECT COUNT(*) AS num FROM USER WHERE Usercode=? AND UserPwd=?";
Object[] paras={bl.getUsercod(),bl.getUserPwd()};
ResultSet rs = executeQuery(sql, paras);
if(rs.next()){
if(rs.getInt("num")>0){
flag=true;
}
}
returnflag;
}
接口
B.Service
接口:
实现:
C.Setvlet
protected voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
request.setCharacterEncoding("utf-8");
blogserviceimp service=newblogserviceimp();
String action = request.getParameter("action");
blog bg =newblog();
String Usercode = request.getParameter("usercode");
System.out.println("Usercode"+ Usercode);
String Userpwd = request.getParameter("userpwd");
bg.setUsercod(Integer.parseInt(Usercode));
bg.setUserPwd(Userpwd);
try{
booleanflag = service.Login(bg);
if(flag) {
String name=getIPAddress(request);
System.out.println(name+"________________________________");
//添加ip
visitlog flog=newvisitlog();
flog.setArdess(name);
flog.setVisitTime(newDate());
service.Addvistlog(flog);
request.getRequestDispatcher("/Blog/html/main.html").forward(request, response);
System.out.println("登录成功");
}else{
System.out.println("登录失败");
response.sendRedirect("/Blog/html/index.html");
}
}catch(Exception e) {
e.printStackTrace();
}
}
D.页面
1.
setTimeout(function() {
//模拟登陆
layer.close(index);
varuname=$('[name=usercode]').val();
varupwd=$('[name=userpwd]').val();
location.href="/loginServlet?usercode="+uname+"&userpwd="+upwd;
},400);
return false;
});
2.
三.列表显示
1.列表实现效果图
A.点击博客列表,显示出带分页的列表数据,可以进行上一页和下一页
2.列表实现思路
A.首先在dao层从数据库中查询出分页显示的数据
B.在页面和servlet之间进行绑定,实现列表显示
3.列表实现代码
A.dao层
实现:Imp
//查询博客信息表的所有信息
publicList<bloginfo> getAll(intPageIndex,intPageSize)throwsException {
List<bloginfo> list=newArrayList<bloginfo>();
String sql="SELECT * FROM bloginfo limit ?,?";
Object[] objs={PageIndex,PageSize};
ResultSet rs = executeQuery(sql,objs);
if(rs!=null){
while(rs.next()){
bloginfo info=newbloginfo();
info.setBlogid(rs.getInt("blogid"));
info.setBlogAuthor(rs.getString("blogAuthor"));
info.setBlogArdess(rs.getString("blogArdess"));
info.setBlogDel(rs.getInt("blogDel"));
list.add(info);
}
}
returnlist;
}
//获取分页总数
public int Count()throwsException {
intresult=0;
String sql="select count(1) as num from bloginfo";
ResultSet rs=executeQuery(sql);
if(rs!=null){
while(rs.next()){
result=rs.getInt("num");
}
}
returnresult;
}
接口:
B.Service
接口:
实现:
C.setvlet
D.页面
1.
2.
<divclass="container">
<h2class="btitle">
有伴有爱有力量,再也不怕学习没动力
</h2>
<h4class="subtitle">
<span>
学习从来不是轻松事,与其孤身奋战,不如找到志同道合小伙伴一起坚持到底,微冷的雨
</span>
</h4>
<br>
<divclass="row text-center">
<c:forEachitems="${info.list}"var="item">
<divclass="col-sm-4">
<divclass="partneritem"style="position:relative;">
<divid="operation"style="position:absolute;background:pink;opacity:0.5;filter:alpha(opacity=50);text-align:center;margin-top:-50px;z-index:20;width:290px;height:80px;border:1px solid red;">
<h4>博客名:${item.blogAuthor}</h4> <ahref="#mymodal"data-toggle="modal"onclick="editBlog(${item.blogid},this)">修改</a> <ahref="/blogServlet?action=del&id=${item.blogid}" onclick="deletebook()">删除</a>
</div><br/>
<p>
<atarget="_blank"href="${item.blogArdess}">${item.blogArdess}</a>
</p>
</div><br/><br/><br/>
</div>
</c:forEach>
</div>
</div>
</div>
<divstyle="text-align:center">
当前页:[${info.pageIndex} /${info.totalPage}]
<ahref="/blogServlet?action=list&PageIndex=1">首页</a>
<ahref="/blogServlet?action=list&PageIndex=${info.pageIndex-1}">上一页</a>
<ahref="/blogServlet?action=list&PageIndex=${info.pageIndex+1}">下一页</a>
<ahref="/blogServlet?action=list&PageIndex=${info.totalPage}">尾页</a>
</div>
四.添加
1.添加实现效果图
A.点击添加博客,弹出添加列表的框,输入添加的值,点击添加,实现添加功能,并在显示列表中显示出来
2.添加实现思路
A.首先在dao层实现向数据库添加数据的代码
B.在页面和servlet之间进行绑定,实现添加功能
3.添加实现代码
A.dao层
实现:Imp
//添加博客信息
public intAddblog(bloginfo blog)throwsException {
intresult=0;
String sql="insert into bloginfo(blogAuthor,blogArdess,blogDel) values(?,?,?)";
Object[] objs={blog.getBlogAuthor(),blog.getBlogArdess(),blog.getBlogDel()};
result=exeuteUpdate(sql,objs);
if(result>0){
System.out.println("添加成功");
}else{
System.out.println("添加失败");
}
returnresult;
}
接口:
B.Service
接口:
实现:
C.setvlet
D.页面
1.
2.
五.删除
1.删除实现效果图
A.点击删除,实现删除功能
2.删除实现思路
A.首先在dao层实现删除功能,并且数据库也能实现删除
B.在页面和servlet之间进行绑定,通过id实现删除功能
3.删除实现代码
A.dao层
实现:Imp
删除博客信息
public boolean deleteblog(intid)throwsException {
booleanflag=false;
String sql="delete from bloginfo where blogid=?";
Object[] objs={id};
intcout= exeuteUpdate(sql,objs);
if(cout>0){
flag=true;
}
returnflag;
}
接口:
B.Service
接口:
实现:
C.setvlet
D.页面
<ahref="/blogServlet?action=del&id=${item.blogid}" onclick="deletebook()">删除</a>
六.修改
1.修改实现效果图
A.点击修改弹出修改的框,并有表单验证,点击修改实现修改功能
2.修改实现思路
A.首先书写dao层实现修改功能的代码
B.在页面和servlet之间进行绑定,通过id实现修改功能
3.修改实现代码
A.dao层
实现:Imp
//修改博客信息
public int updateblog(bloginfo blog)throwsException {
intresult=0;
String sql="update bloginfo set blogAuthor=?,blogArdess=?,blogDel=? where blogid=?";
Object[] objs={
blog.getBlogArdess(),blog.getBlogAuthor(),blog.getBlogDel(),blog.getBlogid()
};
result = exeuteUpdate(sql, objs);
if(result>0){
System.out.println("修改成功");
}
returnresult;
}
接口:
B.Service
接口:
实现:
C.setvlet
D.页面
<ahref="#mymodal"data-toggle="modal"onclick="editBlog(${item.blogid},this)">修改</a>
七.获取ip
1.获取ip实现效果图
A.点击登录之后跳到主界面,显示上次登录时间,地点等相关信息
2.获取ip实现思路
A.在servlet中写怎样获取ip的代码,使登录时可以显示ip
3.获取ip实现代码
A.setvlet
1.
publicString getIPAddress(HttpServletRequest request){
String ip = request.getHeader("x-forwarded-for");
if(ip == null|| ip.length() ==0||"unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null|| ip.length() ==0||"unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null|| ip.length() ==0||"unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
returnip;
}
2.
- 用ide实现简单的登录,增删改查
- NodeJs实现简单登录增删改查、登录Demo
- mongodb实现简单的增删改查
- Hibernate实现简单的增删改查
- mongodb实现简单的增删改查
- mongodb实现简单的增删改查
- Mybatis实现简单的增删改查
- 数据库SQLite的增删改查简单的实现
- 联系人的增删改查的简单实现
- MVC学习笔记二:实现简单的增删改查
- contentProvider简单实现数据库的增删改查
- 使用Hibernate实现简单的数据库增删改查。
- ObjectC----实现简单的通讯录(增删改查)
- SSH实现简单增删改查的功能实例
- 初学Hibernate,简单实现单表的增删查改
- Maven+SSM框架实现简单的增删改查
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
- Maven+SSM框架实现简单的增删改查
- BZOJ-3757 苹果树 LCA 莫队算法 树分块
- 系统框架之Web类库
- NOIP2015 day2t2 子串
- PAT乙级 1047. 编程团体赛(20)
- 【Linux基础】常用基本命令(下)
- 用ide实现简单的登录,增删改查
- 十六、迭代器模式——设计模式学习笔记
- 最短路径—Dijkstra算法和Floyd算法
- 朴素贝叶斯分类
- java集合(1)
- 机器学习笔记-第一章 单变量线性回归
- 算法题练习系列之(十):A除以B
- PAT乙级 1048. 数字加密(20)
- QT中窗体之间传值--signals&slots