目录 1. Web端工程搭建 2 2. 反向工程生成数据模型 6 3.创建SysMenuDao,用于操作菜单栏 7 4.编写newIndex.jsp 8 5. 在WebAction中增加index方法,显示左侧菜单 14 6. 在struts.xml中进行配置 16 7. Address的DAO接口 18 8.Address的DAO接口实现 18 9.编写WebAction,实现分页显示所有地址功能 20 10.在struts.xml中进行配置 22 11.编写addresslist.jsp,显示所有地址 22 12.实现修改地址,编写WebAction 28 13.实现修改地址,先编写addresslist.jsp的跳转 29 写一个方法用于跳转到oneAddress,并且把addressId传给action 29 14.实现修改地址,编写updateAddress.jsp 30 15.实现新增地址,编写WebAction 34 16.实现新增地址,编写addAddress.jsp 35
1. Web端工程搭建 1.1 新建SDSYwZJF项目 1.2 添加SSH库包支持 1.3 添加spring支持 1.4 在DB Browser视图中添加数据库连接 首先将mysql-connector-java-5.0.8.jar包复制到WEB-INF|lib目录下,MyEclipse自动将该jar包添加到Web App Libraries引用目录下。 1.5 添加struts支持 1.6 在src文件夹下新建struts.properties文件 在该文件中,添加:struts.objectFactory=spring 1.7 添加Hibernate支持以及数据库连接 1.8 测试网页是否成功运行
2. 反向工程生成数据模型 这个数据库里的所有表都是单表,表之间没有外键,所以反向address和sys_menu表即可
此时遇到错误An internal error occurred during: "Generating Artifacts". java.lang.NullPointerException
百度后解决
反向后生成这几个文件
同时applicationContext中生成 web/model/Address.hbm.xml web/model/SysMenu.hbm.xml
3.创建SysMenuDao,用于操作菜单栏 public interface SysMenuDao { List findPmenu(); //查找父菜单,通过group by 查找父菜单的名称 List findSysMenu();//菜单栏所有的操作对象 } 新建SysMenuDaoImp实现SysMenuDao public class SysMenuDaoImp extends HibernateDaoSupport implements SysMenuDao {
@Override public List findSysMenu() { // TODO Auto-generated method stub List list=this.getHibernateTemplate().find("from SysMenu order by fsign,sign"); return list; } @Override public List findPmenu() { List list=this.getHibernateTemplate().find("from SysMenu group by name order by fsign"); List listm=new ArrayList(); if(list!=null&&list.size()>0){ for(int i=0;i listm.add(list.get(i).getName()); } } return listm; }
} 4.编写newIndex.jsp class和id 在css文件中的使用区别 指定html的字符集 指定编码 在移动设备上显示时控制他的长宽比例 导入的link 标准jquery库 定义 id="sidebar" id="content" id=”header” 的样式 定义 id="sidebar" id="content" id=”header”的背景色 定义icon-check icon-key icon-lock icon-caret-right 图标选择组件 使用JQuery要导入的js文件,用于控制菜单栏样式 var url="index",跳转到index.action data是JSONObject对象s中的一个数据对象,步骤5会往s对象里放数据 body
#iframe-main #sidebar jquery通过$(“#id”)来访问id指定的标签
5. 在WebAction中增加index方法,显示左侧菜单 先增加一个JSONObject属性s,并get,set private JSONObject s; public JSONObject getS() { return s; }
public void setS(JSONObject s) { this.s = s; } lista 是存放Map的一个list集合 map ={name:父菜单名称;list:一个父菜单下所有子操作的名称和url} 将lista放入s对象的”data”中
public String index(){ List listp = sysMenuDao.findPmenu();//父菜单 List list = sysMenuDao.findSysMenu();//所有菜单 List> lista = new ArrayList>(); SysMenu menu; if (list != null && list.size() > 0) { for (String str : listp) { Map map = new HashMap(); List> listf = new ArrayList>(); map.put("name", str); for (SysMenu me : list) { if (str.equals(me.getName())) { Map mapr = new HashMap(); mapr.put("functions", me.getFunction()); mapr.put("url", me.getUrl()); listf.add(mapr); } } map.put("list", listf); lista.add(map); } } s = JSONTools.createJsonObject("data", lista);//将lista放入s对象的”data”中 return "success"; }
这里需要一个工具类用于管理JSONObject对象 public class JSONTools { public static String createJsonString(String key,Object value){ JSONObject jsonObject = new JSONObject(); jsonObject.put(key, value); return jsonObject.toString(); } public static JSONObject createJsonObject(String key,Object value) { JSONObject jsonObject=new JSONObject(); jsonObject.put(key, value); return jsonObject; } } 6. 在struts.xml中进行配置 返回的是一个JSONObject, root表示返回对象的层级为根部,注意继承json-default s
运行程序
7. Address的DAO接口 记录总条数 用于分页时计算总页面用,allAddress(int i)返回的地址list用于在jsp上显示当前页数的页面
public interface AddressDao { public void newAddress(Address address); //新增一个地址 public void deleteAddress(Address address); //删除一个地址 public double pageSum(); //记录总条数 public List
allAddress(int i); //一页上的地址 public List allAddress(); //所有地址 public Address findAddress(int addressId); //根据id查找地址 public void updateAddress(Address address); //更新地址 } 8.Address的DAO接口实现 allAddress(int i) 查找从指定条数的记录开始,查找7条记录,放入list中,用于显示在jsp页面上 package web.dao.imp; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import web.dao.AddressDao; import web.model.Address; public class AddressDaoImp extends HibernateDaoSupport implements AddressDao { @Override public void newAddress(Address add) { this.getHibernateTemplate().save(add); } @Override public void deleteAddress(Address address) { this.getHibernateTemplate().delete(address); } @Override public double pageSum() { Session session = getSession(); Query query = session.createQuery("select count(*) from Address"); Long count = (Long) query.uniqueResult(); double a = count; session.close(); return a; } @Override public List allAddress(int i) { Session ssn = getSession(); Query query = ssn.createQuery("from Address"); query.setFirstResult(i); query.setMaxResults(7); List l = query.list(); ssn.close(); return l; } @Override public Address findAddress(int addressId) { List list = getHibernateTemplate().find("from Address where id=?", addressId); return list.get(0); } @Override public List allAddress() { Session ssn = getSession(); Query query = ssn.createQuery("from Address"); List l = query.list(); ssn.close(); return l; } @Override public void updateAddress(Address address) { this.getHibernateTemplate().update(address); } } 9.编写WebAction,实现分页显示所有地址功能
继承 SessionAware接口,并创建Map session域对象用于传递数据 public class WebAction extends ActionSupport implements SessionAware { Address addre; Map session; //重载函数,对Session进行初始化 public Map getSession() { return session; } 新建属性addresslist用于向jsp传递数据 private List
addresslist = new ArrayList(); public List getAddresslist() { return addresslist; }
public void setAddresslist(List
addresslist) { this.addresslist = addresslist; }
public String allAddress() { Integer pa = (Integer) session.get("addresspag"); pageSum2 = (int) (addressDao.pageSum() / 7 + 0.99);//总页数 if (pageSum2 == 0) pageSum2 = 1; if (n == 0) //首页 pa = 1; else if (n == 1 && pa > 0) //上一页 pa = pa - 1; else if (n == 2 && pa < pageSum2) //下一页 pa = pa + 1; else if (n == 3 && pa < pageSum2) //尾页 pa = pageSum2; page2 = pa; //保存当前页 addresslist = addressDao.allAddress((pa - 1) * 7); //拷贝查询页的所有记录到addresslist中 session.put("addresspag", pa); return "success"; } 10.在struts.xml中进行配置 /addresslist.jsp 11.编写addresslist.jsp,显示所有地址 与表格样式有关的2个css class="gray-bg" 控制body背景色 class="project-title" 标题样式 class="clients-list" 列表样式 class="ibox-content" class=” btn-danger” 按钮样式 class="table-responsive" 响应式表格 class="tab-pane active" 选项卡 class="col-sm-12" 字体格式 class="row" 行样式 class=” wrapper”
css class 功能描述 css文件 gray-bg body背景色 Jules/css/style.min862 table-responsive table包裹在.table-responsive中即可创建响应式表格,其会在小屏幕设备上(小于768px)水平滚动 jules/css/bootstrap.min14ed.css table-striped table-hover 表格样式 jules/css/bootstrap.min14ed.css client-link 鼠标悬停字体颜色大小 jules/css/style.min862f.css btn-danger btn-xs 设置按钮样式 jules/css/bootstrap.min14ed.css ibox jules/css/bootstrap.min14ed.css Tab(tab-content, tab-pane) 标签页插件 jules/css/bootstrap.min14ed.css project-title 标题文字样式 jules/css/style.min862f.css
<%@page contentType="text/html; charset=UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page isELIgnored="false"%> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
地址管理
所有地址
12.实现修改地址,编写WebAction oneAddress接收从addresslist.jsp页面跳转过来的要修改的address
Address addre; public Address getAddre() { return addre; }
public void setAddre(Address addre) { this.addre = addre; } addressId是从addresslist页面通过url传过来的 public String oneAddress() { // System.out.println(itemId); addre = addressDao.findAddress(addressId); // System.out.println(acItem.getAname()); return "success"; }
在struts.xml文件中进行配置 /updateAddress.jsp 13.实现修改地址,先编写addresslist.jsp的跳转 写一个方法用于跳转到oneAddress,并且把addressId传给action 编写修改按钮,调用deleteaddress方法 class="btn btn-danger btn-xs"> 修改
14.实现修改地址,编写updateAddress.jsp 这个表单提交到updateAddress.action,默认显示值是addre的值,将修改的值分别放到name,longitude,latitude中 class=”form-group” 增加块元素的下部留白或下部边界,从而使块元素的间距变大 class=”form-control” 换行+填充整行 class=”col-sm-2” 控制文字左对齐 css class 功能描述 css文件 form-group form-control form-control :换行+填充整行 form-group : 增加块元素的下部留白或下部边界,从而使块元素的间距变大 jules/css/bootstrap.min14ed.css wrapper wrapper-content animated fadeInRight article 页面框起来,好限定宽度及其他设置 jules/css/style.min862f.css col-lg-10 col-lg-offset-1 Bootstrap栅格系统布局 jules/css/bootstrap.min14ed.css text-center 文字居中 jules/css/bootstrap.min14ed.css btn btn-sm btn-primary m-t-n-xs pull-right 按钮样式,按钮靠右放置且颜色为绿色 jules/css/bootstrap.min14ed.css
新增属性address
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
修改地址,根据addresslist传过来的addressId,找到这个地址,并进行修改
public String updateAddress() {
System.out.println("修改");
Address address = addressDao.findAddress(addressId);
address.setName(name);
address.setLatitude(this.getLatitude());
address.setLongitude(this.getLongitude());
address.setARange(this.getRange());
addressDao.updateAddress(address);
return "success";
}
在struts.xml中进行配置, 当修改完成后,跳转到allAddress这个action,读取数据后跳到/addresslist.jsp,显示所有地址
allAddress
15.实现新增地址,编写WebAction // 添加地址 public String addAddress() { Address add = new Address(); add.setName(this.getAddress()); add.setLatitude(this.getLatitude()); add.setLongitude(this.getLongitude()); add.setARange(this.getRange()); if (add.getARange() == null) { //如果未设置扫码范围 add.setARange(10); } addressDao.newAddress(add); return "success"; } struts.xml中进行配置,返回的是一个action allAddress
16.实现新增地址,编写addAddress.jsp class=”form-group” 增加块元素的下部留白或下部边界,从而使块元素的间距变大 class=”form-control” 换行+填充整行 class="table table-bordered" 表格的样式 wrapper wrapper-content animated fadeInRight article 页面框起来,好限定宽度及其他设置 这些信息存放在address,longitude,latitude,range中 设置所有
的背景色
<%@page contentType="text/html; charset=UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page isELIgnored="false"%> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
Title
你可能感兴趣的:(java后台)
基于Google authentic实现的双因子登录认证系统前后台基于SSMP+Vue+Element(解决SecureRandom造成的服务器请求缓慢)
Tate_Brown
git JAVA IDEA DEBUG VUE
用md5两次加盐密码,可以灵活更换算法--直接上代码地址:JAVA后台:https://github.com/TateBrownJava/TwoFALogindemoBackendVue前端:https://github.com/TateBrownJava/TwoFALoginDemofrontend-------------------------------------------------
java实现将数据生成图表至excel导出
AdoredU
1.目的根据已有数据,手动(java后台)生成图表至excel并导出。用于后台查询到数据后直接创建图表,可以代替直接使用图表信息字符串。2.说明使用jfree图表绘制类库绘制图表,并生成到本地或读取至输出流用于在excel中生成;使用poi操作excel;3.使用jar包使用maven管理jar包,主要包含poi和jfree:3.11org.apache.poipoi${poi-version}o
适合大学生的java后台学习方法
万年星光
原文转载https://blog.csdn.net/m0_37907797/article/details/115548456?utm_source=app&app_version=4.5.8姓名:魏子勋学号20009101910学院:竹园三号书院【嵌牛导读】本文主要介绍了对于大学生来说适合的java学习路径【嵌牛鼻子】java后端学习【嵌牛提问】如何快速高效的学java后台开发【嵌牛正文】一、J
javaweb基于ssm框架校园即时服务平台管理系统设计与实现
ancen_73bd
1、项目介绍系统开发平台:JDK1.8+Windows7+Maven3.6.1开发语言:Java后台框架:SSM前端:layui数据库:MySql5.7Navicat开发环境:IntellijIdea浏览器:Chrome或360浏览器本系统分为两个用户:学生、管理员。学生:可以发布任务、已接受任务、已发布任务、资料修改管理员:可以对用户进行管理、任务的管理、安全设置管理2、项目技术后端框架:SSM
Java后台接收List<obj> JSONObject 转字符串 字符串转 JSONObjec
杰拉德·皮克·谢
List Map 简单集合操作 java 开发语言
Java后台接收List场景用法ControllerImpl前端传输场景当批量新增某个对象时后端就需要接收List方便批量存储用法Controller@PostMapping("/saveUser")@ApiOperation(value="批量新建用户",notes="批量新建用户")@UserOperationLog(module="批量新建用户",operationDesc="批量新建用户"
Android程序员的Java后台学习建议
Androidgiao
作为一个原生Android开发,一路走来经历了Java、Kotlin的洗礼;在“原生要凉”的氛围下学习Cordova、ReactNative、Weex、Flutter等跨平台框架;之后又在“大前端”的口号下延伸到React、Vue等前端框架的学习;最终面对“全栈”的诱惑,又撸起了SpringBoot的Javaweb开发。image.pngAndroid开发作为“安身立命”的资本,在面对如今“移动要
Java的15个技术点, 简单的说说学好Java必须弄懂哪些知识点
小宇java
程序员是一种神秘的人类物种,Java程序员更是!今天给大家科普一下我在这么多年的Java后台开发后得出的经验,Java的知识很多,有很多在工作中不经常用的,我这里讲的都是些经常用的吧1、Java的运行(基础必备)起码了解底层IDE又是如何执行java程序吧!很多人其实并不了解。2、JVM相关(包括了各个版本的特性)一般面试有超过3年Java经验的开发者的时候,我每次肯定必问JVM相关的知识。或许J
2017总结&2018展望
Dynamic_2018
2017回顾工作作为一个2017届的应届生,我2月底就到公司开始实习了。早早的去实习的原因是我担心自己的android经验不够,因为校招时我更擅长的是Java后台。于是只能一边工作一边自己看书、看博客学习咯。工作上公司的框架很大也比较老,刚开始的时候存在很多很多老bug。不知道算是倒霉还是机会,听说17年项目突然受到重视,然后要求的比较严格,把很多前人挖的坑都测出来了,然后得由我们(应届生)去填。
Java后台实现多层级目录树的构建
木子人弋山
java基础 多层级目录树 Java
首先,想清楚目的,需要的是只是单纯的实现菜单功能,还是菜单下可以有文件的那种实战开发中需要用到的菜单(即菜单下可以有菜单还可以有文件)如果只是想要单纯的实现菜单,不需要有文件那么这种方式相对较为简单1、建目录表,表中应有以下关键字段目录id(dir_id)目录名(dir_name)父目录id(parent_id)2、创建目录(这个功能就是向数据库表中插入数据,没什么好说的,注意需要同名判断)3、获
javaweb超级简单图书管理系统基于servlet基础开发
ancen_73bd
1、项目介绍系统开发平台:JDK1.8+Windows10开发语言:Java后台框架:servlet前端:bootstrap+jquery数据库:MySql5.7Navicat开发环境:IntellijIdea浏览器:Chrome或360浏览器本系统实现了角色分为管理员和读者注册登录、图书馆里读者管理、图书分类管理,图书借阅管理、图书归还信息管理2、项目技术后端框架:servlet前端框架:boo
电商商城系统网站
一杯奶茶¥
java项目 java毕设项目 商城系统 java
文章目录电商商城系统网站一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走)电商商城系统网站一、项目演示商城系统二、项目介绍基于SpringBoot+Vue的前后端分离商城系统网站运行环境:idea或eclipsevscode数据库:mysql语言:java后台:SpringBoot+Mybatis-plus+Mybatis+Hutool工具包+lombok
基于java后台的微信影视交流点评小程序系统设计与实现
黄菊华老师
计算机系统成品 影视交流点评小程序
博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,免费项目配有对应开发文档、开题报告、任务书、PPT、论文模版等项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行!!!如果需要联系我,可以在CSDN网站查询黄菊华老师
基于SpringBoot和PostGIS的震中影响范围可视化实践
夜郎king
数据库技术 SpringBoot 空间查询 PostGIS空间范围查询 st_dwithin 实战
目录前言一、基础数据1、地震基础信息2、全国行政村二、Java后台服务设计1、实体类设计2、Mapper类设计3、控制器设计三、前端展示1、初始化图例2、震中位置及影响范围标记3、行政村点查询及标记总结前言地震等自然灾害目前还是依然不能进行准确的预测,当强烈度的地震发生时,其破坏性往往是极大的,给人民群众带来极大的损失。通常,在地震发生之后,应急救援部门会组织相应的救援,在救援的时候往往会根据震中
入门Node.js, 你应该阅读的书籍
全栈开发之道
说明这里,没有哗众取宠,没错。通过阅读几本书籍,能把你带入门,就已经很不错了。这个世上,从来没有哪本书能让你从入门到精通。因为精通只能通过在项目实战的不断积淀!我以前是做前端开发的,在项目中,我负责前端网站的开发,同时,项目组配备了Java后台工程师。我们各做各的,相处得很好。突然一天,他提出离职。因为项目着急上线,来不及找到合适的人手。PM要接手他的后台Java代码,必须接,这是命令,没得商量。
java实现将数据生成图表至excel导出(包括折线图,柱状图,饼状图)
Da白兔萘糖
Java java excel 开发语言
1.目的根据已有数据,手动(java后台)生成图表至excel并导出。用于后台查询到数据后直接创建图表,可以代替直接使用图表信息字符串。2.说明使用jfree图表绘制类库绘制图表,并生成到本地或读取至输出流用于在excel中生成;使用poi操作excel;3.使用jar包使用maven管理jar包,主要包含poi和jfree:3.11org.apache.poipoi${poi-version}o
URL 重写
Tom098
WEB 后端开发 URL重写
1.URL重写的目的。下边描述的比较好,但好像这对于java后台基于spring开发不是问题,controller中可以轻易实现读取URL中的pathvariable。ChangingaURLtotherequiredformat.URLrewritingallowsURLstobemoreeasilyrememberedbytheuser.WhentheURLisenteredintotheWe
基于SpringBoot+VUE的电商购物系统【前后分离项目】
IT森林里的程序猿
spring boot vue.js java 后端 eclipse tomcat javascript
简介【毕设源码推荐项目】基于SpringBoot+VUE的电商购物系统适用于计算机类毕业设计,本系统功能完整,适合作为毕业设计、课程设计、数据库大作业参考以及学习商用皆可。项目环境开发语言:Java后台框架:SpringBoot+Mybatis-plus+Mybatis+Hutool工具包UI界面:Vue+VueRouter+ELementUI+Axios数据库:MySQL开发工具:IDEA(20
小程序实现微信登录Java后端(一)--前端实现
飞影铠甲
微信小程序 Java 小程序 微信 java 前端 spring boot
目录一、概述二、登录流程三、前端代码四、解读前端代码1、登录部分2、检查当前用户是否已登录3、小程序启动时校验登录五、阶段性小结一、概述最近终于有时间去搞一下准备参加比赛的小程序,小程序一开始设计的是使用邮箱登录,老师建议直接实现微信登录,更加方便,以前没有搞过,这次试一下。网上实现小程序微信登录的教程不是很多,其中使用Java后台的更是少之又少,大部分是基于node.js的,而且网上的教程大部分
【粉丝投稿】工作2年经验成功上岸拿到字节offer,附上大佬的字节客户端一二三面面经(已OC)
前程有光
前言首先说一下自己的本人情况:双非软工,Java后台开发,但是由于后端竞争过于激烈,已转客户端,感谢字节爸爸接收零经验客户端小白,送上面经回馈牛客。自己是将近10月份的时候才开始准备面试和投递简历的,收到了差不度十几家的面试邀请,最后拿到offer的只有字节跳动这个了,感谢字节给机会!下面我会把我的面试经过和面试题以及之后自己总结的技术笔记分享在下面,希望帮助还没有上岸的同学!image11.24
java后台截图_Java+Selenium实现后台截图网页,可运行在树莓派上
Jacob贾超
java后台截图
前言:最近折腾了一个QQ机器人,突然有个灵感。当用户发送一个网页链接时,我想使用Java对网页进行截图,然后将截图文件发回到QQ上,感觉这个功能很酷炫,于是昨天(2020-10-29)研究了一晚上,下面对截图功能这个部分进行总结。一.概述首先我在网上查询了相关资料(并不多),最常见的两种方案:使用Java自带的Robot类,对电脑屏幕进行截图,不建议使用。使用Selenium工具,对游览器进行截图
javaweb基于ssm框架快递代拿管理系统设计与实现
ancen_73bd
1、项目介绍系统开发平台:JDK1.8+Windows7+Maven3.6.1开发语言:Java后台框架:SSM前端:layui数据库:MySql5.7Navicat开发环境:IntellijIdea浏览器:Chrome或360浏览器本系统实现了前端可以对快递代拿信息填写、查询快递单号以及意见反馈后端管理可对订单管理、人员管理、订单回收管理、用户反馈管理2、项目技术后端框架:SSM前端框架:lay
【转载】Java后台日志记录组件--Log4j详解
qq_19891827
服务器 Java java log4j 开源项目 apache api
最近打算为个人博客的项目做一个异常日志记录,目的是用于统计、分析代码中出现的bug及瓶颈,为后续代码的完善和维护提供科学依据。一开始的思路是通过Java的输入、输出流自己写一个异常日志记录的类,当然这完全可以做到。但是自己写难免出现功能单一,扩展性不好,费力耗时等问题。于是通过网上查资料希望找到一个现成的比较成熟的日志组件,最终通过比较选择了Log4j这个日志组件。下面贴出详细的使用教程和实例,共
java后台将html转成图片返回给前端(html2image)
puyuma
javaweb java基础 业务实战 html转成图片 后台返回图片
最近有时间,就整理整理自己做过的项目~这是某医院的微信网页开发项目。话不多说,进入正题1.引入依赖:gui.avahtml2image0.92.实现代码如下:service层publicvoidgetImage(Longid,HttpServletResponseresponse)throwsDataAccessException{try{/*StringheadHtml="项目名称结果单位参考值
java servlet 返回图片验证码
影子2401
java web java servlet 开发语言
javaservlet返回图片验证码,用于注册、登录场景,使用图片验证码防止爆破攻击实际使用要注意在java后台每次取到验证码比较验证码是否正确时都需要把图片验证码清空掉,否则拿到一个验证码依然可以一直爆破攻击CheckCodeServlet.javapackagecom.gaom.servlet;importjava.awt.Color;importjava.awt.Font;importjav
[精品毕设]基于Uniapp+springboot智慧农业环境监测App
IT实践课堂
Java 安卓&app项目 毕业设计 uni-app spring boot 后端 计算机毕业设计 课程设计 学习 java
《[含文档+PPT+源码等]精品基于Uniapp+springboot智慧农业环境监测App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功!软件开发环境及开发工具:开发语言:Java后台框架:springboot、ssm安卓框架:UniappJDK版本:JDK1.8服务器:tomcat9.0数据库:mysql5.7数据库工具:Navicat11开发软件:ecl
[精品毕设]基于Uniapp+springboot智慧校园管理系统App课程选课成绩
IT实践课堂
毕业设计 安卓&app项目 Java uni-app spring boot 后端 计算机毕业设计 课程设计 学习 java
《[含文档+PPT+源码等]精品基于Uniapp+springboot智慧校园管理系统App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功!软件开发环境及开发工具:开发语言:Java后台框架:springboot、ssm安卓框架:UniappJDK版本:JDK1.8服务器:tomcat9.0数据库:mysql5.7数据库工具:Navicat11开发软件:ecl
[精品毕设]基于Uniapp+springboot智能家居环境检测App
IT实践课堂
安卓&app项目 Java 毕业设计 uni-app spring boot 智能家居 计算机毕业设计 课程设计 学习 后端
《[含文档+PPT+源码等]精品基于Uniapp+springboot智能家居环境检测App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功!软件开发环境及开发工具:开发语言:Java后台框架:springboot、ssm安卓框架:UniappJDK版本:JDK1.8服务器:tomcat9.0数据库:mysql5.7数据库工具:Navicat11开发软件:ecl
[精品毕设]基于Uniapp+springboot校园学校趣事管理系统app
IT实践课堂
Java 毕业设计 安卓&app项目 uni-app spring boot 后端 计算机毕业设计 课程设计 学习 java
《[含文档+PPT+源码等]精品基于Uniapp+springboot趣事管理系统app》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功!软件开发环境及开发工具:开发语言:Java后台框架:springboot、ssm安卓框架:UniappJDK版本:JDK1.8服务器:tomcat9.0数据库:mysql5.7数据库工具:Navicat11开发软件:eclip
[精品毕设]基于Uniapp+springboot自习室预约系统App教室阅览室
IT实践课堂
毕业设计 安卓&app项目 Java uni-app spring boot 后端 计算机毕业设计 学习 课程设计 java
《[含文档+PPT+源码等]精品基于Uniapp+springboot自习室预约系统App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功!软件开发环境及开发工具:开发语言:Java后台框架:springboot、ssm安卓框架:UniappJDK版本:JDK1.8服务器:tomcat9.0数据库:mysql5.7数据库工具:Navicat11开发软件:ecli
ccm-esn-uniapp社区团购商城
神码观察
uni-app
介绍创创猫社区团购商城,是一款完善且经过线上验证的Java电商系统。商城前端使用uni-app开发,可打包部署到微信小程序,APP,H5,系统后台则是用javaspringboot开发。本项目是消费端的前端源码,在项目详情里你也能获取到团长端/平台端/Java后台的源码。软件架构前端使用uni-app开发,uni-app是一个使用Vue.js开发所有前端应用的框架。开发者编写一套代码,可发布到iO
Enum 枚举
120153216
enum 枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
Java8简明教程
bijian1013
java jdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
Oracle表维护 快速备份删除数据
cuisuqiang
oracle 索引 快速 备份 删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
java多态内存分析
麦田的设计者
java 内存分析 多态原理 接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
spring拦截器的一个简单实例
bijian1013
java spring 拦截器 Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
[Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
Netty学习笔记
bylijinnan
java netty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
oracle 的性能优化
cuishikuan
oracle SQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
Shell变量和数组使用详解
daizj
linux shell 变量 数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
[Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
js实现登录时记住用户名
hw1287789687
记住我 记住密码 cookie 记住用户名 记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
算法机试题
李亚飞
java 算法 机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
hibernate调用返回游标的存储过程
Supanccy2013
java DAO oracle Hibernate jdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p