文档章节

2015年创业中遇到的技术问题:41-50

FansUnion
 FansUnion
发布于 2015/05/03 01:31
字数 848
阅读 20
收藏 0
 41.Bootstrap换行。
col-md-10和col-md-2。
这2个div按说应该在一行的,结果col-md-2换行了。
看看样式,发现有多余的“margin-left: 1px;"。

42.Service实现类定义了一个“自动调度进行刷新”的方法。
@Override
@Scheduled(cron = "0 0/10 * * * ? ")
// 每10分钟一次
public void refreshBannerPhoto() {
bannerPhotoList = photoDao.find(searchBannerForm());
}
需要在接口类中,也定义一个方法。
 void refreshBannerPhoto();
 
要不然可能出现以下错误。
@Scheduled method 'refreshBannerPhoto' found on bean target class 'PhotoServiceImpl', 
but not found in any interface(s) for bean JDK proxy. Either pull the method up to an interface 
or switch to subclass (CGLIB) proxies by setting proxy-target-class/proxyTargetClass attribute to 'true'

43.Nginx和Tomcat配置疑惑。

需求:一个Tomcat下,部署2个项目。
2个项目使用不同的域名访问。
并且处于实际考虑,A项目必须部署在root下,从而解决图片等路径问题。
在Java中,项目名称是个很烦人的东西。

A项目
 server {
 37         listen 80;
 38         server_name fansunion.cn www.fansunion.cn blog.fansunion.cn;
 39       
 51        location / {
 52            proxy_pass    http://localhost:8080;
 53        }

B项目
  server{
 76        listen 80;
 77        server_name soft.fansunion.cn;
 78        location / {
 79            proxy_pass  http://localhost:8080/soft;
 80       }
 81
 82    }
 
 
 期望:访问  http://soft.fansunion.cn,访问 http://localhost:8080/soft这个项目。
 
 结果: http://localhost:8080/soft,访问的是 http://localhost:8080/根目录下的项目。
 
 
折衷处理,绕过去,把soft项目部署到另外一个Tomcat的根目录下,这个Tomcat监听9080等不同的端口。

问题:多一个Tomcat,多使用了100多M内存额。
 
 
44.使用JSONP解决跨域问题。
后端Java代码备份:
// 对外提供的服务接口,演示用jsonp解决跨域问题
// TODO jsoncallback是可选的,categoryid->categoryId
@RequestMapping(value = "recentpost")
public void recentPost(Integer categoryid, String jsoncallback,
Integer count, Model model, HttpServletResponse response) {
if (categoryid == null) {
categoryid = DEFAULT_CATEGORY;
}
List<Post> list = postService.listRecent(categoryid, count);
String str = JSONObject.toJSONString(list);
str = jsoncallback + "(" + str + ")";
super.returnMessage(response, str);
}

45.类型转换空指针异常。
   Integer ispage;
if (ispage == 1){
}
ispage是null。
这说明,Integer类型的ispage被转换成int,JDK内部转换时,报错。

46.KindEditor获得html和text内容。

方法一:editor.sync();
$("#content).val();

方法二:
html格式内容,editor.html();
文本格式内容,editor.text();

47.ActiveMq的启动。
启动ActiveMq
cd /activemq/bin

经常出现问题的启动方式: ./bin/activemq start
更好的方式:使用bin目录下的linux-x86-64目录下的activemq启动
./bin/linux-x86-64/activemq start

48.Spring注入属性的值到字段中。
@Value("${loginCookieName}")
private static final String loginCookieName = "cookieName";
a.properties
loginCookieName=abc

49.权限漏洞。
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**/*.html" />
<mvc:mapping path="/**/*.json" />
<mvc:exclude-mapping path="/login.html*"/>
<bean class="com.p2p.backend.interceptors.BackendLoginInterceptor">
<property name="loginUrl">
<value>${backendLoginUrl}</value>
</property>
</bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**" />
<bean class="com.p2p.base.interceptors.BackendPermissionInterceptor">
</bean>
</mvc:interceptor>
</mvc:interceptors>

重新看了下权限,发现有漏洞,我的火眼金睛不是瞎吹的。

访问post.json,没有登录,没有权限,按说返回false。
但是,post.json2,就绕过去了。

另外一个原因是,SpringMVC的DispatchServlet拦截的是“/*”所有,而不是只拦截/*.html和/*.json。

50.Freemarker的base问题。
实际后端响应的是  http://login.jiutianniao.com/login

静态资源的路径是:
${base}/static/

通过Nginx代理之后,${base}是 http://login.jiutianniao.com/login/static

访问报错了。

因为,通过Nginx访问的地址是 http://login.jiutianniao.com/static

这个地址映射到后端 http://login.jiutianniao.com/login/static

解决办法:base变量也做成可配置的。

静态资源的路径是:
${userDomain}/static/

String contextPath = request.getContextPath();
     model.put("base", contextPath);
总结:${base}在没有代理的情况下,很好。
有Nginx代理之后,目录访问会不正常。

© 著作权归作者所有

FansUnion
粉丝 60
博文 858
码字总数 825464
作品 0
丰台
高级程序员
私信 提问
【线上沙龙预告】工程师是否应该参与创业?会遇到哪些问题?

[有鱼线上沙龙] 由有鱼App官方主办,旨在通过最实用、最前沿的话题交流,让更多的技术牛人通过轻量线上互动碰撞出技术灵感,搭建“最有质量”的互联网技术族圈子。第一期话题:工程师是否应该...

PatrickWong
2015/07/22
152
0
【线上沙龙预告】工程师是否应该参与创业?会遇到哪些问题?

[有鱼线上沙龙] 由有鱼App官方主办,旨在通过最实用、最前沿的话题交流,让更多的技术牛人通过轻量线上互动碰撞出技术灵感,搭建“最有质量”的互联网技术族圈子。第一期话题:工程师是否应该...

PatrickWong
2015/07/22
1
0
SegmentFault D-Day:杭州站

SegmentFault D-Day,全称 SegmentFault Developer Day,是由 SegmentFault 发起主办的系列技术沙⻰。自 2014 年启动,D-Day 技术沙龙已在北、上、广、深、杭等 10 个城市巡回举办了 19 场,...

SegmentFault
2016/03/18
439
1
SegmentFault D-Day:杭州站

SegmentFault D-Day,全称 SegmentFault Developer Day,是由 SegmentFault 发起主办的系列技术沙⻰。自 2014 年启动,D-Day 技术沙龙已在北、上、广、深、杭等 10 个城市巡回举办了 19 场,...

SegmentFault
2016/03/18
5
0
30天,O2O速成攻略【7.19深圳站】

活动概况 时间:2015年07月19日13:30-16:30 地点:深圳腾讯大厦(南山区科技园科技中一路)2楼多功能厅 主办:APICloud、OneAPM、连接科技 网址:www.apicloud.com 费用:免费 活动背景 移动...

API_Cloud
2015/07/04
933
5

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习之模块

1、 stub_status模块: 用于展示nginx处理连接时的状态。 配置语法如下: Syntax:stub_status;Default:默认没有配置Context:server、location 可以编辑default.conf,加上如下配置: ...

码农实战
27分钟前
3
0
MySQL,必须掌握的6个知识点

目录 一、索引B+ Tree 原理 MySQL 索引 索引优化 索引的优点 索引的使用条件 二、查询性能优化使用 Explain 进行分析 优化数据访问 重构查询方式 三、存储引擎InnoDB MyISAM 比较 四、数据类...

李红欧巴
31分钟前
4
0
堆”和“栈

C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。...

SibylY
42分钟前
4
0
总结:Https

一、介绍 简单理解,https即在http协议的基础上,增加了SSL协议,保障数据传输的安全性。 它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式 ...

浮躁的码农
44分钟前
6
0
数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部