一、关于iframe的自适应
要求:
//iframe页的js代码
function SetWinHeight(obj){
var win=obj;
if (document.getElementById){
if (win && !window.opera){
if (win.contentDocument && win.contentDocument.body.offsetHeight){
win.height = win.contentDocument.body.offsetHeight;
//我写了width的设置后,反倒不能自适应菜单收起所导致的宽度变化了
//win.width = win.contentDocument.body.offsetWidth;
}
else if(win.Document && win.Document.body.scrollHeight){
win.height = win.Document.body.scrollHeight;
//我写了width的设置后,反倒不能自适应菜单收起所导致的宽度变化了
//win.width = win.Document.body.scrollWidth;
}
}
}
}
//保证窗口大小变化时,iframe也能够自适应
window.onresize=function(){
SetWinHeight();
}
$(function(){
SetWinHeight();
});
修改个人信息
二、jQuery中ajax的post出现404
参考大神解释:https://zhidao.baidu.com/question/442974647.html
1.记录下发生404错误的链接;
2.在服务器端直接输出出现“错误”的链接的内容,看看可不可以;
3.如果不可以,说明是链接有问题;如果可以,检查jq发送的post请求,看看参数有没有被转义;
4.如上面都没问题,那就是服务器的连接有问题,不稳定
发现是自己的后台函数没写对。
三、eclipse对某一个包不编译
不知怎么的,我的eclipse对其中一个包就是不编译,其他的包都编译,但是这个就是不编译,Problem报The tag handler class for "pager" (common.util.pager.PagerTag) was not found on the Java Build Path。
解决:在这个包上右键Build Path→Include
P.S. 这一定是个愚蠢的错误。
四、小问题
需要注意:
1. 用jpa建表的时候,字段名不要出现大写,不要出现下划线,否则很麻烦
2. 注意注解的正确
之前出现了一个问题:
***************************
APPLICATION FAILED TO START
***************************
Description:
Field xxxRepository in xxxxxx.service.impl.IdentityServiceImpl required a bean of type 'package.xxxRepository' that could not be found.
Action:
Consider defining a bean of type 'package.xxxRepository' in your configuration.
解决办法就是:
/**
* 业务层实现类
*/
@Service("identityService") // 配置业务层的bean
@Transactional(readOnly=true)
public class IdentityServiceImpl implements IdentityService {
// session
/** 定义Repository对象 */
@Autowired // bytype
@Qualifier("xxxRepository") // byName
private XxxRepository xxxRepository;
/**
* @Qualifier后面的括号里的名字要和写repository接口的包名保持一致
*/
3. Spring中Controller里传的参,后续在取值的时候最好不要用直接传进来的参数的名字,否则会出错。
如之前写的 @RequestParam("start") String start,这个时候,start这个变量的值就算是定下了,之后改起来容易出现问题,所以后续的代码在使用的时候,最好不要再用start这个变量名字,可以新建个参数再修改传参,后续在service里的方法传参时也不要用start了。
4. 报错Connection is read-only. Queries leading to data modification are not allowed
是因为我在service的实现类上加了@Transactional(readOnly=true)注解,修改注解为@Transactional(readOnly=false,rollbackFor=java.lang.RuntimeException.class)后解决
5. Mysql的存储时间和页面上读取的时间不一致
参考:https://blog.csdn.net/q283614346/article/details/90737288,发现是我的serverTimezone写的是UTC时间。
五、Spring boot整合Hadoop,远程运行mapreduce方法jar包
1. 首先修改pom文件
org.springframework.data
spring-data-hadoop
2.5.0.RELEASE
org.slf4j
slf4j-log4j12
org.springframework.boot
spring-boot-starter-web
ch.qos.logback
logback-classic
jdk.tools
jdk.tools
1.8
system
${JAVA_HOME}/lib/tools.jar
2. 将方法jar包放置在spring的class path目录中,比如我放在了src/main/resources下
3. 添加application-context.xml文件,写的是连接hadoop和调用方法的代码
fs.defaultFS=hdfs://xxx.xxx.xxx.xxx:9000
4. 添加hadoopcontroller,写运行上述方法包的代码
package org.fkit.simplespringdatajpatest.controller;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@ResponseBody
@RequestMapping("/hadoop")
public class hadoopController {
private static final Log log = LogFactory.getLog(hadoopController.class);
@RequestMapping(value="/test")
public static String Test(String[] args){
try{
@SuppressWarnings("resource")
AbstractApplicationContext context = new ClassPathXmlApplicationContext(
"/application-context.xml", hadoopController.class);
log.info("xxx with HDFS copy Application Running");
context.registerShutdownHook();
}catch(Exception e){
e.printStackTrace();
}
return "运行成功"; //我在测试时是将结果直接输出到网页页面上显示,所以要加@ResponseBody注解
}
}
5. 在页面访问http://localhost:8080/hadoop/test,运行过程中的日志输出会在eclipse控制台,运行完成后会在网页显示“运行成功”。
未完待续……