20190507 Java相关学习

1 查看maven仓库位置

maven查看仓库位置:mvn help:effective-settings

2 SpringBoot & eclipse 打包jar

首先要在pom文件里引入插件

<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
   <build>
       <plugins>
           <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
           </plugin>
       </plugins>
   </build>

在项目本地文件夹按住Crtl+Shift+右键打开命令窗口,执行

mvn clean package

(要配置好maven环境变量)

Microsoft Windows [版本 10.0.17134.590]
(c) 2018 Microsoft Corporation。保留所有权利。

D:\Java999\springboot>mvn clean package
Microsoft Windows [版本 10.0.17134.590]
(c) 2018 Microsoft Corporation。保留所有权利。

D:\Java999\springboot\target>java -jar springboot-0.0.1-SNAPSHOT.jar

打包成功后,在项目target目录下会有一个项目jar包

进入到jar包的目录,运行cmd, 执行代码

java -jar jar包

端口访问

image

3 项目pom.xml oracle的依赖有问题

项目从svn上down想来,获取不到oracle6的本地jar,原因好像是说oracle是收费的,maven无法之接在仓库中导入。于是手动copy了oracle6的文件夹放在仓库里,update了项目,结果发现依赖还是有问题。但是项目能跑起来就没有管,但是今天打包springboot项目的时候,那个确实的jar就报错了!解决办法,重新导入jar吧!

第一步:去oracle下载对应需要的jar包,放在某一个目录下

第二步:打开maven仓库所在目录的 com 文件夹下 , 打开cmd模式(按住Shift+鼠标右键.选择在本目录下打开命令窗口

第三步:输入Maven的一个oracle安装的命令:

mvn install:install-file -Dfile=E:/bosi/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar -DgeneratePom=true 

在com目录下会出现oracle文件夹,可以查看到里面有jar包。eclipse update一下项目,就ok了!

		<!-- oracle -->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.1.0</version>
		</dependency>

4 SVN下载的项目,没有修改文件却有(*)星号

在 window --> Preferences --> Team --> Ignored Resources 添加相应的 需要屏蔽的文件:

.settings    
.classpath      
.project)

5 设置远程数据库用户、ip访问权限

grant all PRIVILEGES on test_db.* to root@'192.168.1.101'  identified by '123456';

上面的语句表示将 test_db 数据库的所有权限授权给 root 这个用户,允许 root 用户在 192.168.1.101 这个 IP 进行远程登陆,并设置 root 用户的密码为 123456 。

下面逐一分析所有的参数:

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

test_db.* 表示上面的权限是针对于哪个表的,test_db指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

root 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

192.168.1.101   表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

123456 为用户的密码。

如何开启MySQL的远程帐号-3)执行了上面的语句后,再执行下面的语句,方可立即生效。
        > flush privileges; 
grant all PRIVILEGES on *.* to qiuhao@'%' identified by 'qiuhao';
收回权限 revoke all on *.* from 'qiuhao' @'%';

具体参考博客:https://www.cnblogs.com/zhangzhu/archive/2013/08/22/3274831.html

6 Redis cmd启动

redis-server.exe redis.windows.conf
D:\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 3.2.100 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 2900
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

[2900] 14 Mar 14:23:23.445 # Server started, Redis version 3.2.100
[2900] 14 Mar 14:23:23.446 * The server is now ready to accept connections on port 6379

这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。

切换到 redis 目录下运行:

redis-cli.exe -h 127.0.0.1 -p 6379

7 HTML自定义元素属性,大写会自动转为小写

+ '<option uid='+ item.uId +' value="0" deptId="'+ item.deptId +'"'

<option uid="5942BF6A91DB4967BF83A80A359383D0" value="0" deptid="532600.001">高校</option><option uid="5942BF6A91DB4967BF83A80A359383D0" value="1" deptid="532600.001" selected="">K12</option>

deptid="532600.001"  deptId变为deptid了

8 js正则匹配字符串

匹配,以deptid="开头,以"结尾的字符串

var deptId = innerHTML.match(/deptid="\S*"/);
console.log(deptId);

9 手机清楚缓存

微信浏览器打开网址“http://debugx5.qq.com”,勾选如下设置:

点击“清除”按钮即可。

10 ajax请求不能重定向

股拦截器拦截重定向是不起作用的,不会跳转,所以得靠返回值来判断,页面来控制跳转登录


		String url = request.getRequestURL().toString();

		HttpSession session = request.getSession();
		Object obj = session.getAttribute(SessionConsts.USER_SESSION_KEY);
		// 未登录
		if (null == obj) {
			String servletPath = request.getServletPath();
			log.error("session失效,当前url:" + url + ";module Paht:" + servletPath);
			//Ajax异步
			if (request.getHeader("x-requested-with") != null
					&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) {
				// 在响应头设置session状态
				response.setHeader("sessionstatus", "timeout");
				response.setCharacterEncoding("UTF-8");
				response.setContentType("text/html;charset=UTF-8");
				response.getWriter().print("error");
			} else {
				response.sendRedirect(request.getContextPath() + "/login.html");
			}
			return false;
		}
		return super.preHandle(request, response, handler);
	

ajax返回接受,error判断

$.ajax({
    		url : path + 'system/updateSysFunConfigs',
    		type : "post",
    		dataType : "json",
        	contentType: "application/json",
    		data : JSON.stringify(params),
    		success : function(result) {
    			if (result.success) {
    				layer.alert(result.msg, {icon: 1});
    			}else {
    				layer.alert(result.msg, {icon: 5});
    				obj.elem.checked = !obj.elem.checked;
    				form.render();
    			}
    		},
    	    error:function(XMLHttpRequest, textStatus){
    	    	isTimeout(XMLHttpRequest);
    	    }
    	});

//判断ajax请求,session失效,跳转登录
function isTimeout(XMLHttpRequest){
	var redirect=XMLHttpRequest.getResponseHeader("sessionstatus");
    if(redirect=="timeout"){
    	layer.confirm("登录超时,请重新登录", {icon: 5,shade: 0.1,btn: ['确定'], closeBtn: 0},function(index) {
            window.location.href=path + '/login.html';
		})
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值