先在接口方法中添加相应接口方法:
//添加新产品
@Insert("insert into db.brand values(null,#{brandName},#{companyName},#{ordered},#{description},#{status})")
void addBrand(brand brand);
在service中添加对应的方法:
public void addBrand(brand brand){
String resource = "mybatis-config.xml";
InputStream inputStream = null;
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
brandMapper brandMapper = sqlSession.getMapper(brandMapper.class);
brandMapper.addBrand(brand);
sqlSession.commit();
sqlSession.close();
}
然后开始写添加新产品的信息jsp
<%--
Created by IntelliJ IDEA.
User: quwenhao
Date: 2023/12/28
Time: 19:27
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
添加品牌
添加品牌
完成后设置表单提交给添加的servlet,下面开始写添加的servlet
package org.example.web;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import org.example.service.brandService;
import org.example.pojo.brand;
@WebServlet("/brandAddService")
public class brandAddService extends HttpServlet {
private brandService brandService=new brandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//处理post类型乱码问题
request.setCharacterEncoding("utf-8");
String brandName = request.getParameter("brandName");
String companyName = request.getParameter("companyName");
String ordered = request.getParameter("ordered");
String description = request.getParameter("description");
String status = request.getParameter("status");
//封装成brand对象
brand brand=new brand();
brand.setBrandName(brandName);
brand.setCompanyName(companyName);
brand.setOrdered(Integer.parseInt(ordered));
brand.setDescription(description);
brand.setStatus(Integer.parseInt(status));
//调用Service添加方法
brandService.addBrand(brand);
//转发到查询所有
request.getRequestDispatcher("/brandSelectAllService").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
在brand.jsp中我们通过设置了新增按钮来添加信息, 。我们可以运用javaScript获取其id为其添加跳转功能
在body标签末尾添加下面代码,添加跳转功能。
下面是修改操作:想对特定某条信息进行修改,需要先根据id查询到特定的信息,然后在进行修改。
接口方法:
//根据id查询
@Select("select * from db.brand where id=#{id}")
@ResultMap("brandResultMap")
brand selectByIdBrand(int id);
//根据id,修改特定的产品的信息
@Update("update db.brand set brand_Name=#{brandName},company_name=#{companyName},ordered=#{ordered},description=#{description},status=#{status} where id=#{id}")
void update(brand brand);
service:
public brand brandSelectById(int id){
String resource = "mybatis-config.xml";
InputStream inputStream = null;
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
brandMapper brandMapper = sqlSession.getMapper(brandMapper.class);
brand brand = brandMapper.selectByIdBrand(id);
sqlSession.close();
return brand;
}
public void Update(brand brand){
String resource = "mybatis-config.xml";
InputStream inputStream = null;
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
brandMapper brandMapper = sqlSession.getMapper(brandMapper.class);
brandMapper.update(brand);
sqlSession.commit();
sqlSession.close();
}
然后写根据id查询到的特定产品的详细信息的jsp:
<%--
Created by IntelliJ IDEA.
User: quwenhao
Date: 2023/12/28
Time: 20:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
修改品牌
修改品牌
<%-- 隐藏域,提交id--%>
品牌名称:
企业名称:
排序:
描述信息:${brand.description}
状态:
禁用
启用
禁用
启用
然后写的是特定产品的详细信息的Servlet:
package org.example.web;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import org.example.pojo.brand;
import org.example.service.brandService;
@WebServlet("/selectByIdService")
public class selectByIdService extends HttpServlet {
private brandService brandService=new brandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.接收id
String id = request.getParameter("id");
//2.service查询
brand brand = brandService.brandSelectById(Integer.parseInt(id));
//3.存储到request中
request.setAttribute("brand",brand);
//4.转发
request.getRequestDispatcher("/selectById.jsp").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
我们想调用该servlet根据id查询详细信息,需要先知道该信息的id,所以在跳转到该servlet时应把id传过来。所以brand.jsp中修改信息的跳转链接应该这样写,将#改为下面的链接。
修改
这样我们在打开修改页面的时候,该产品原本的信息会自动填写在文本框中。
修改信息完后,会将该表单提交到updateServlet中,执行修改操作:
package org.example.web;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import org.example.pojo.brand;
import org.example.service.brandService;
@WebServlet("/updateServlet")
public class updateServlet extends HttpServlet {
brandService brandService=new brandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String brandName = request.getParameter("brandName");
String companyName = request.getParameter("companyName");
String ordered = request.getParameter("ordered");
String description = request.getParameter("description");
String status = request.getParameter("status");
String id=request.getParameter("id");
brand brand=new brand();
brand.setBrandName(brandName);
brand.setCompanyName(companyName);
brand.setOrdered(Integer.parseInt(ordered));
brand.setDescription(description);
brand.setStatus(Integer.parseInt(status));
brand.setId(Integer.parseInt(id));
brandService.Update(brand);
request.getRequestDispatcher("/brandSelectAllService").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
这样就可以完成修改操作了
你可能感兴趣的:(数据库,java,开发语言)
JAVA:序列化和反序列化为什么要实现Serializable接口
奋斗的狍子007
JAVA java 开发语言 序列化 Serializable
一、前言序列化和反序列化是什么1.序列化 序列化是将Java对象转换为字节流的过程。这个字节流包含了对象的类型和状态信息,可以在稍后通过反序列化过程重新构造出原始对象。序列化的核心作用就是对象状态的保存。 在Java中,要实现序列化,类必须实现java.io.Serializable接口。这个接口是一个标记接口,不包含任何方法,但它告诉Java虚拟机(JVM)这个类的对象可以被序列化。序列化场
Python动态特性详解
鸭梨山大哎
python java python 开发语言
Java和Python在语言设计上有很大不同,尤其是在动态特性方面。Java是一种静态类型语言,强调编译时的类型检查和严格的类型约束,而Python是一种动态类型语言,强调运行时的灵活性和简洁性。下面通过对比Java和Python来讲解Python的动态特性。1.动态类型vs静态类型Python(动态类型)变量的类型在运行时确定,并且可以随时改变。示例:x=10#x是整数x="hello"#x变为
Java中的集合框架:List、Set和Map有什么区别?
大G哥
java list 开发语言 数据结构
在Java的集合框架中,List、Set和Map是三种常见的集合接口,它们各自有不同的特性和用途。以下是它们之间的主要区别和特点:1.List定义:List是一个有序的集合,允许存储重复的元素,并且可以通过索引访问元素。特点:元素是有序的(按照插入顺序排列)。允许存储重复的元素。可以通过索引(下标)访问元素,支持随机访问。常用实现类包括ArrayList、LinkedList和Vector。适用场
Trae 项目常见问题解决方案
强和毓Hadley
Trae项目常见问题解决方案trae:postbox:MinimalisticFetchbasedHTTPclient项目地址:https://gitcode.com/gh_mirrors/tr/trae项目基础介绍Trae是一个基于FetchAPI的极简HTTP客户端,旨在提供一个简单、轻量级的HTTP请求工具。该项目的主要编程语言是TypeScript和JavaScript。Trae的设计理念
Janino 不思进取了?Java 动态编译 的新神器 Liquor v1.3.10 发布
组合缺一
Solon Java Framework java 开发语言 solon liquor 动态编译器
Liquor是一个开源的轻量级Java动态编译器(零依赖,40KB),基于javac构建,可在运行时编译Java(支持java8到java23语法)字符串代码片段、类、方法等。源码地址:https://gitee.com/noear/liquor基础编译特性:可以单个类编译可以多个类同时编译可以增量编译增值特性:java表达式引擎java脚本引擎(支持java8到java23语法)本次更新添加Sc
PostgreSQL认证指南
leegong23111
postgresql 数据库
PostgreSQL作为一款强大的开源关系型数据库,深受开发者和企业的青睐。获得PostgreSQL专家认证,不仅能提升个人在数据库领域的专业能力,还能为职业发展增添有力筹码。下面为大家详细介绍PostgreSQL专家认证的学习路径。一、深入理解基础知识·数据类型与存储:PostgreSQL支持多种数据类型,如常见的整数、浮点数、字符串,还有特殊的几何类型、JSON类型等。深入了解每种数据类型的存
2025 年微信小程序毕业设计大全,400 道微信小程序毕业设计题目推荐
Java徐师兄
小程序毕业设计 Java大学生实战项目 微信小程序 课程设计 小程序毕业设计题目大全 小程序毕业设计推荐
博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w+、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌文末获取源码联系精彩专栏推荐订阅不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅Java项目精品实战案例《100套》Java微信小程序项目实战《100套》感兴趣的可以先收藏起来,还有大家在毕设选题,项目以
Java面试宝典:说下Spring Bean的生命周期?
熊文豪
Java面试宝典 java 面试 spring Spring Bean Bean Bean的生命周期
Java面试宝典专栏范围:JAVA基础,面向对象编程(OOP),异常处理,集合框架,JavaI/O,多线程编程,设计模式,网络编程,框架和工具等全方位面试题详解每日更新Java面试宝典专栏:Java面试宝典感兴趣的可以先收藏起来,大家在遇到JAVA面试题等相关问题都可以给我留言咨询,希望帮助更多的人回答重点实例化:Spring容器根据配置文件或注解实例化Bean对象。属性注入:Spring将依赖(
JAVA数组笔记
@未来可期
计算机 java 开发语言
数组1.定义:存放相同数据类型的集合2.创建数组的两种方式静态初始化:int[]arr={1,2,3,4,5};动态初始化:int[]arr=newint[]{1,2,3,4,5};需要注意的是,在经过编译后,编译器会自动将静态初始化转变为动态初始化。3,数组的访问和长度在JAVA中,取得数组的长度只需要数组名.length即可取得某个数组元素则需要arr[index]数组下标为0~length-
Java永久性修改Linux(Debian/Ubuntu)网络
久违放晴
linux java debian ubuntu 网络
文章目录前言一、实现思路二、手动配置网络(一)编辑/etc/network/interfaces文件(二)重启网络(三)查看网络配置三、shell脚本配置网络(一)脚本执行流程(二)编写脚本(三)完整代码(四)脚本执行方式(五)直接覆盖版(六)使用工具包的实现方案四、通过Java调用shell脚本(一)SSH远程连接调用(二)使用本地指令调用的方案总结前言对于一些私有化部署的系统,部署完毕后经常需
java-mongo-driver使用
WePlayDirty
未分类 java python 开发语言
packagecdc.personalTool;importcdc.DBHelper;importcdc.ProgramI;importcdc.SubmissionBase;importcom.mongodb.BasicDBObject;importcom.mongodb.MongoClient;importcom.mongodb.MongoException;importcom.mongodb.
NoSQL数据库介绍与分类
码农老起
nosql 数据库
目录一.NoSQL数据库的定义及其特点二.NoSQL的四种主要类型2.1文档型数据库(Document-BasedDatabase)2.2键值型数据库(Key-ValueStore)2.3列族型数据库(Column-FamilyStore)2.4图数据库(GraphDatabase)三.主要的NoSQL数据库3.1MongoDB3.2Redis3.3Cassandra3.4Neo4j四.使用NoS
CPP集群聊天服务器开发实践(一):用户注册与登录
杨枝甘露小码
CPP集群聊天服务器开发 服务器 c++ 数据库 单例模式
目录1客户端用户注册与登录1.1主要思想1.2网络层1.3业务层1.4数据层1.5测试结果1客户端用户注册与登录1.1主要思想实现网络层、业务层、数据层的解耦,提高系统的可维护性。网络层:主要实现对客户端连接、客户端读写请求的捕获与回调,将其分发到多个线程中执行。业务层:主要实现客户端读写请求回调的具体操作,当前阶段主要包含:登录业务、注册业务、用户异常退出业务数据层:主要实现数据库中表的CUAD
#Java笔记 #程序实现:数组的操作——创建、插入、裁剪、扩展、翻转、排序
Mr_yuanh
Java 初学笔记 java
刚开始学JAVA,从笔记做起!program1数组的操作目的书上说,数组[...]的长度一经初始化就不能改变;但是对数组的一些操作(插入、裁剪、扩展等)又要求改变数组的长度。《第一行代码JAVA》一书的4.3继承案例中讲道:“数组的缺陷就在于长度固定,而这个问题的解决可以利用第3章的链表解决……”(p220)于是,在对继承的下一步学习之前,我先用链表的方法来尝试解决。作为自己的笔记,也请诸君不吝赐
基于Java毕业设计学术会议论文稿件管理系统源码+系统+mysql+lw文档+部署软件
练练科技
java 课程设计 mysql
基于Java毕业设计学术会议论文稿件管理系统源码+系统+mysql+lw文档+部署软件基于Java毕业设计学术会议论文稿件管理系统源码+系统+mysql+lw文档+部署软件本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7
java计算机毕业设计web实验室课表管理系统源码+mysql数据库+系统+lw文档+部署
花样1999
mysql 数据库 java
java计算机毕业设计web实验室课表管理系统源码+mysql数据库+系统+lw文档+部署java计算机毕业设计web实验室课表管理系统源码+mysql数据库+系统+lw文档+部署本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQ
java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署
沪港
mysql java 数据库
java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7/8.0源码
关系数据库的基本术语
iamphp
系统架构设计师 数据库
(1)属性(Attribute):在现实世界中,要描述一个事物常常取若干特征来表示。这些特征称为属性。例如学生通过学号、姓名、性别、系别、年龄、籍贯等属性来描述。(2)域(Domain):每个属性的取值范围对应一个值的集合,称为该属性的域。例如,学号的域是6位整型数;姓名的域是10位字符;性别的域为{男,女}等。一般在关系数据模型中,对域还加了一个限制,即所有的域都应是原子数据(AtomicDat
关系数据库运算
iamphp
系统架构设计师 机器学习 人工智能
关系操作的特点是操作对象和操作结果都是集合。关系代数运算符有4类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。根据运算符的不同,关系代数运算可分为传统的集合运算和专门的关系运算。传统的集合运算是从关系的水平方向进行的,包括并、交、差及广义笛卡儿积。专门的关系运算既可以从关系的水平方向进行运算,又可以向关系的垂直方向运算,包括选择、投影、连接以及除法。5种基本的关系代数运算包括并、差、笛卡
JAVA从零开始:数组
heiheitong
java 数据结构 开发语言
目录数组1.数组的基本概念2.数组的声明与创建3.数组的使用for-each循环:数组在方法中的使用:Arrays类中的常用方法:4.多维数组5.稀疏数组数组1.数组的基本概念数组是一种数据结构,是同一类型数据的有序集合。每一个数据称作一个数组元素,每个数组元素可以通过一个整型下标来访问它们。2.数组的声明与创建首先必须声明数组变量,才能在程序中使用数组。java中有两种方法声明数组变量: int
Java初学者:Java - 从新手到高效掌握的重点与难点
ProgramHan
java 学习 开发语言
很多人都想学习Java,但是又无从下手,难道Java只能到培训机构去花钱学吗?结合本人的经验,我认为不需要去培训机构花钱学也可以学习Java。首先,我们的需求很明确,是关于学习方法和如何将所学应用到工作中。可能我们希望文章详细且有实际指导意义,帮助他们高效学习Java。接下来,我得考虑文章的结构。通常,学习指南会包括基础知识、重点难点、实践应用等部分,这样我们可以有条理地进行学习。然后,如何将学习
【重温设计模式】模板方法模式及其Java示例
万猫学社
重温设计模式及其Java实现 设计模式 模板方法模式 java
模板方法模式的基本概念模板方法模式是一种常见的设计模式,它的名字来源于其核心思想:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。听起来可能有些抽象,但其实我们在生活中经常会遇到这样的场景。比如,我们在做饭时,通常会有一套固定的流程:洗菜、切菜、炒菜。这个流程就是一个模板,而具体的做法,比如切菜的方式、炒菜的时间等,就是
深入解析 NoSQL 数据库的分类与特点
一休哥助手
数据库 数据库 nosql
目录NoSQL数据库概述NoSQL数据库的主要分类2.1键值存储2.2文档存储2.3列族存储2.4图数据库NoSQL数据库的特点
消息队列简述
八二年的栗子
java
消息队列(MessageQueue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。消息队列主要解决了应用耦合、异步处理、流量削锋等问题。当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及
NoSQL调研与学习(一)
JUNPR
NoSQL redis nosql 数据库
NoSQL数据库调研与学习简言1.1NoSQL概述NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数
YashanDB表介绍
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E6%A6%82%E5%BF%B5%...在关系型数据库中一个表就是一个关系(Relation),一个关系数据库可以包含多个表。表是一种按行、列排列的具有相关信息的逻辑结构,是关系数据库中组织数据的基本单元。表的元素列数据库中表包含若干个列(或字段),列表示关系模型的
DolphinScheduler环境搭建、服务启动等常见问题及解决方案
数据库
ApacheDolphinScheduler作为一款分布式易扩展的工作流调度系统,广泛应用于大数据任务编排。然而,在实际使用中,用户可能会遇到环境搭建、服务启动、工作流执行等问题。本文结合社区文档与用户实践经验,整理以下高频问题及详细解决方案,帮助用户快速定位并解决问题。一、安装与部署问题环境依赖配置错误问题:部署时因缺少JDK、Maven或数据库配置导致失败。解决方案:安装JDK1.8+并配置J
什么关系型数据库和非关系型数据库
yqcoder
数据库 nosql
一、关系型数据库1.定义关系型数据库是基于关系模型的数据库,用二维表结构来存储数据,表与表之间可以通过关系(如主键-外键关系)相互关联。2.特点2.1数据结构化数据按照预定义的表结构进行存储,每个表有固定的列和数据类型。例如,一个存储员工信息的表,可能包含“员工ID”“姓名”“部门”等列,每列都有明确的数据类型。2.2支持SQL查询使用结构化查询语言(SQL)进行数据的增删改查操作,SQL是一种标
Docker搭建达梦数据库--基于 X86 架构
❀͜͡傀儡师
数据库 docker 架构
1、部署环境X86_64架构的服务器1台,安装好docker拉取镜像官方最新非授权版本有些函数方法无法使用dockerpullregistry.cn-hangzhou.aliyuncs.com/qiluo-images/dm8_single:dm8_20230808_rev197096_x86_rh6_64查看镜像dockerimages|grepdm8运行容器dockerrun-d\-p5236
NoSQL数据库-体系框架
iamphp
系统架构设计师 nosql 数据库
NoSQL整体框架分为4层,由下至上分为数据持久层(DataPersistence)、数据分布层(DataDistributionModel)、数据逻辑模型层(DataLogicalModel)和接口层(Interface),层次之间相辅相成,协调工作。(1)数据持久层定义了数据的存储形式,主要包括基于内存、硬盘、内存和硬盘接口、订制可插拔4种形式。基于内存形式的数据存取速度最快,但可能会造成数据
遍历dom 并且存储(将每一层的DOM元素存在数组中)
换个号韩国红果果
JavaScript html
数组从0开始!!
var a=[],i=0;
for(var j=0;j<30;j++){
a[j]=[];//数组里套数组,且第i层存储在第a[i]中
}
function walkDOM(n){
do{
if(n.nodeType!==3)//筛选去除#text类型
a[i].push(n);
//con
Android+Jquery Mobile学习系列(9)-总结和代码分享
白糖_
JQuery Mobile
目录导航
经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css。
个人觉得基于WebView的Jquery Mobile开发有以下优点:
1、对于刚从Java Web转型过来的同学非常适合,只要懂得HTML开发就可以上手做事。
2、jquerym
impala参考资料
dayutianfei
impala
记录一些有用的Impala资料
1. 入门资料
>>官网翻译:
http://my.oschina.net/weiqingbin/blog?catalog=423691
2. 实用进阶
>>代码&架构分析:
Impala/Hive现状分析与前景展望:http
JAVA 静态变量与非静态变量初始化顺序之新解
周凡杨
java 静态 非静态 顺序
今天和同事争论一问题,关于静态变量与非静态变量的初始化顺序,谁先谁后,最终想整理出来!测试代码:
import java.util.Map;
public class T {
public static T t = new T();
private Map map = new HashMap();
public T(){
System.out.println(&quo
跳出iframe返回外层页面
g21121
iframe
在web开发过程中难免要用到iframe,但当连接超时或跳转到公共页面时就会出现超时页面显示在iframe中,这时我们就需要跳出这个iframe到达一个公共页面去。
首先跳转到一个中间页,这个页面用于判断是否在iframe中,在页面加载的过程中调用如下代码:
<script type="text/javascript">
//<!--
function
JAVA多线程监听JMS、MQ队列
510888780
java多线程
背景:消息队列中有非常多的消息需要处理,并且监听器onMessage()方法中的业务逻辑也相对比较复杂,为了加快队列消息的读取、处理速度。可以通过加快读取速度和加快处理速度来考虑。因此从这两个方面都使用多线程来处理。对于消息处理的业务处理逻辑用线程池来做。对于加快消息监听读取速度可以使用1.使用多个监听器监听一个队列;2.使用一个监听器开启多线程监听。
对于上面提到的方法2使用一个监听器开启多线
第一个SpringMvc例子
布衣凌宇
spring mvc
第一步:导入需要的包;
第二步:配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi=
我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer
aijuans
Spring3
PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer,但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。也就是说如果properties文件中没有某个bean属性的内容,那么将使用上下文(配置的xml文件)中相应定义的值。如果properties文件中有bean属性的内容,那么就用properties文件中的值来代替上下
通过XSD验证XML
antlove
xml schema xsd validation SchemaFactory
1. XmlValidation.java
package xml.validation;
import java.io.InputStream;
import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schem
文本流与字符集
百合不是茶
PrintWrite()的使用 字符集名字 别名获取
文本数据的输入输出;
输入;数据流,缓冲流
输出;介绍向文本打印格式化的输出PrintWrite();
package 文本流;
import java.io.FileNotFound
ibatis模糊查询sqlmap-mapping-**.xml配置
bijian1013
ibatis
正常我们写ibatis的sqlmap-mapping-*.xml文件时,传入的参数都用##标识,如下所示:
<resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO">
<res
java jvm常用命令工具——jdb命令(The Java Debugger)
bijian1013
java jvm jdb
用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。
现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLI
【Spring框架二】Spring常用注解之Component、Repository、Service和Controller注解
bit1129
controller
在Spring常用注解第一步部分【Spring框架一】Spring常用注解之Autowired和Resource注解(http://bit1129.iteye.com/blog/2114084)中介绍了Autowired和Resource两个注解的功能,它们用于将依赖根据名称或者类型进行自动的注入,这简化了在XML中,依赖注入部分的XML的编写,但是UserDao和UserService两个bea
cxf wsdl2java生成代码super出错,构造函数不匹配
bitray
super
由于过去对于soap协议的cxf接触的不是很多,所以遇到了也是迷糊了一会.后来经过查找资料才得以解决. 初始原因一般是由于jaxws2.2规范和jdk6及以上不兼容导致的.所以要强制降为jaxws2.1进行编译生成.我们需要少量的修改:
我们原来的代码
wsdl2java com.test.xxx -client http://.....
修改后的代
动态页面正文部分中文乱码排障一例
ronin47
公司网站一部分动态页面,早先使用apache+resin的架构运行,考虑到高并发访问下的响应性能问题,在前不久逐步开始用nginx替换掉了apache。 不过随后发现了一个问题,随意进入某一有分页的网页,第一页是正常的(因为静态化过了);点“下一页”,出来的页面两边正常,中间部分的标题、关键字等也正常,唯独每个标题下的正文无法正常显示。 因为有做过系统调整,所以第一反应就是新上
java-54- 调整数组顺序使奇数位于偶数前面
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
import ljn.help.Helper;
public class OddBeforeEven {
/**
* Q 54 调整数组顺序使奇数位于偶数前面
* 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半
从100PV到1亿级PV网站架构演变
cfyme
网站架构
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的
架构师不是一天练成的。
1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTM
[宇宙时代]宇宙时代的GIS是什么?
comsci
Gis
我们都知道一个事实,在行星内部的时候,因为地理信息的坐标都是相对固定的,所以我们获取一组GIS数据之后,就可以存储到硬盘中,长久使用。。。但是,请注意,这种经验在宇宙时代是不能够被继续使用的
宇宙是一个高维时空
详解create database命令
czmmiao
database
完整命令
CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/m
几句不中听却不得不认可的话
datageek
1、人丑就该多读书。
2、你不快乐是因为:你可以像猪一样懒,却无法像只猪一样懒得心安理得。
3、如果你太在意别人的看法,那么你的生活将变成一件裤衩,别人放什么屁,你都得接着。
4、你的问题主要在于:读书不多而买书太多,读书太少又特爱思考,还他妈话痨。
5、与禽兽搏斗的三种结局:(1)、赢了,比禽兽还禽兽。(2)、输了,禽兽不如。(3)、平了,跟禽兽没两样。结论:选择正确的对手很重要。
6
1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误
dcj3sjt126com
PHP
原文地址:http://www.kafka0102.com/2010/08/281.html
因为需要,今天晚些在本机使用PHP做些测试,PHP脚本依赖了一堆我也不清楚做什么用的库。结果一跑起来,就报出类似下面的错误:“Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/kafka/test/
xcode6 Auto layout and size classes
dcj3sjt126com
ios
官方GUI
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html
iOS中使用自动布局(一)
http://www.cocoachina.com/ind
通过PreparedStatement批量执行sql语句【sql语句相同,值不同】
梦见x光
sql 事务 批量执行
比如说:我有一个List需要添加到数据库中,那么我该如何通过PreparedStatement来操作呢?
public void addCustomerByCommit(Connection conn , List<Customer> customerList)
{
String sql = "inseret into customer(id
程序员必知必会----linux常用命令之十【系统相关】
hanqunfeng
Linux常用命令
一.linux快捷键
Ctrl+C : 终止当前命令
Ctrl+S : 暂停屏幕输出
Ctrl+Q : 恢复屏幕输出
Ctrl+U : 删除当前行光标前的所有字符
Ctrl+Z : 挂起当前正在执行的进程
Ctrl+L : 清除终端屏幕,相当于clear
二.终端命令
clear : 清除终端屏幕
reset : 重置视窗,当屏幕编码混乱时使用
time com
NGINX
IXHONG
nginx
pcre 编译安装 nginx
conf/vhost/test.conf
upstream admin {
server 127.0.0.1:8080;
}
server {
listen 80;
&
设计模式--工厂模式
kerryg
设计模式
工厂方式模式分为三种:
1、普通工厂模式:建立一个工厂类,对实现了同一个接口的一些类进行实例的创建。
2、多个工厂方法的模式:就是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式就是提供多个工厂方法,分别创建对象。
3、静态工厂方法模式:就是将上面的多个工厂方法模式里的方法置为静态,
Spring InitializingBean/init-method和DisposableBean/destroy-method
mx_xiehd
java spring bean xml
1.initializingBean/init-method
实现org.springframework.beans.factory.InitializingBean接口允许一个bean在它的所有必须属性被BeanFactory设置后,来执行初始化的工作,InitialzingBean仅仅指定了一个方法。
通常InitializingBean接口的使用是能够被避免的,(不鼓励使用,因为没有必要
解决Centos下vim粘贴内容格式混乱问题
qindongliang1922
centos vim
有时候,我们在向vim打开的一个xml,或者任意文件中,拷贝粘贴的代码时,格式莫名其毛的就混乱了,然后自己一个个再重新,把格式排列好,非常耗时,而且很不爽,那么有没有办法避免呢? 答案是肯定的,设置下缩进格式就可以了,非常简单: 在用户的根目录下 直接vi ~/.vimrc文件 然后将set pastetoggle=<F9> 写入这个文件中,保存退出,重新登录,
netty大并发请求问题
tianzhihehe
netty
多线程并发使用同一个channel
java.nio.BufferOverflowException: null
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[na:1.7.0_60-ea]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[na:1.7.0_60-ea]
Hadoop NameNode单点问题解决方案之一 AvatarNode
wyz2009107220
NameNode
我们遇到的情况
Hadoop NameNode存在单点问题。这个问题会影响分布式平台24*7运行。先说说我们的情况吧。
我们的团队负责管理一个1200节点的集群(总大小12PB),目前是运行版本为Hadoop 0.20,transaction logs写入一个共享的NFS filer(注:NetApp NFS Filer)。
经常遇到需要中断服务的问题是给hadoop打补丁。 DataNod