class="MsoNormal" style="font-family: 宋体, Verdana, Arial, Helvetica, sans-serif; font-size: 14.44444465637207px; line-height: 23.33333396911621px;">折腾了半天操作步骤一直没有问题,但是就是用ssh连接另一台机器时还是需要输入密码
后来上网查找了一下,该问题是由于$home路径的权限必须是700,而我当前的目录的权限是775,所以就遇到了问题,这问题太囧了,细节决定成败啊。
?
下面是解决方法:
chmod??700 /home/nutch
这是我要进行连接ssh用户的根目录(nutch)
?
source /etc/profile??(全局的)
source ~/.bash_profile?(个人的)
?
?
右键->我的电脑->服务->
Vmware nat service?的“自动”改为“手动”,并启动服务,启动后,状态就是上面图显示的已启动,手动
?
1)shutdown –help?
可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。?
2)?shutdown -h now?现在立即关机?
3)shutdown -r now?现在立即重启?
4)shutdown -r +3?三分钟后重启?
5)shutdown -h +3 “The System will shutdown after 3 minutes”?提示使用者将在三分钟后关机?
6)shutdown -r 20:23?在20:23时将重启计算机?
7)shutdown -r 20:23 &?可以将在20:23时重启的任务放到后台去,用户可以继续操作终端?
?
用su?切换用户时,报出如下错误:当前用户不可用
This account is currently not available
?
解决办法:
用root用户执行下列命令:
viw /etc/passwd
?
打开后,看到如下内容:
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
?
后面的内容都是/sbin/nologin
?
我们需要把/sbin/nologin修改为“/bin/bash”就可以了
?
如:apache:x:48:48:Apache:/var/www:/bin/bash
?
?
重启apache时
如果出现:
启动?httpd:Syntax error on line 2 of /usr/local/apache2/conf/mod_jk.conf:
Cannot load /etc/httpd/modules/mod_jk.so into server: /etc/httpd/modules/mod_jk.so: invalid ELF header
则说明mod_jk.so的版本错误.
?
从http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries下载指定的mod_jk,注意版本:
选择你的操作系统类型,我的是linux,进入后:
因为我的是apache2.2.3所以,我进入了jk-1.2.31
进入后,选择你操作系统的类型,我的服务器版本是64位的所以选择x86_64
然后我的apache版本是2.2.3的所有就选择红框内的
?
当启动tomcat6时,如果报了如下错误:
validateJarFile(/usr/file/tomcat6/webapps/eclass/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
是由于eclass项目中lib下的servlet-api.jar和tomcat?的lib下的servlet-api.jar包冲突了,所以报了如上错误,解决方法是把webapps下的项目中的lib下的servlet-api.jar包删除掉就可以了
?
?
?
当通过oracle?用户?执行命令时:
Sqlplus ‘/as sysdba’
然后报了如下错误:
ERROR:
ORA-12705: Cannot access NLS data files or invalid environment specified
?
查找一下环境变量中是否有
NLS_LANG="AMERICAN_AMERICA.UTF-8"?
export NLS_LANG
这样的内容,然后删掉
删掉后
执行
Source /etc/profile
或
source ~/.bash_profile
才可以生效
?
ORA-01950:?对表空间zy无权限;
?
ORA-01950错误分析
用户没有resource权限。
添加用户的resouce?角色即可
?
当你用hibernate执行查询方法时,如果报了如下错误:
?
ORA-00942:?表或视图不存在
?
是因为hbm文件里面的配置出现了问题
?
?<class name="com.jdodrc.pt.vo.TPtUserWeiboShare" table="T_PT_USER_WEIBO_SHARE" schema="SAA">
?
schema="SAA"只要删除这个就可以了,这个是指定的是表空间,由于数据库迁移了,所以表空间不对了,所以就会出现错误了
所以删除掉这句就好了schema="SAA"
?
?配置一般的oracle用户,配置
CONNECT
RESOURCE
这2个角色
CREATE SESSION
这个系统权限
然后配置一些对象权限
?
?
最近做统计报表的时候使用PL/SQL,但是每次第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没有被授权,没有权限访问这几张表,所以没有办法进行统计.当然要给授权了.授权SQL如下:?
用sys登陆后,执行下列语句
grant select on v_$statname to user;?
grant select on v_$sesstat to user;?
grant select on v_$session to user;?
grant select on v_$mystat to user;?
?
user就是要被授权的用户名.记下以备后用.
?
?
下载xalan-j_2_7_0-bin-2jars.zip这个包
然后将serializer.jar??和?xalan.jar这2个文件copy到应用的lib下
?
?
还发现了个问题,这个编辑器的上传功能和webwork的某个过滤器会发生冲突,在web.xml中加载webwork的过滤器后编辑器的上传功能就不能用了,我试了下,删除webwork的fileupload过滤器情况依旧,删除webwork的全部过滤器就没问题了,不知道和哪个过滤器发生冲突了,还因为它不能直接上传其他类型的文件,后来就干脆不用它的文件上传功能了,提供了一个统一的文件上传功能
?
如果你和我一样使用的struts2进行项目开发的话,你会发现当上传文件时会出现?“Error on file upload. Error number:203”的错误提示。这是因为fck与struts2框架不兼容,struts2转发了fck的servlet。?
解决办法:在web.xml中修改struts2的filter-mapping
Java代码
<filter-mapping>?
????? <filter-name>struts2</filter-name>?
??????<url-pattern>/*</url-pattern>?
</filter-mapping>?
修改成?
<filter-mapping>????
?????? <filter-name>struts2</filter-name>????
???????<url-pattern>*.action</url-pattern>????
?????? <url-pattern>*.jsp</url-pattern>????
</filter-mapping>?
如果还有其他url映射也可以添加到filter-mapping中去。
说明:webwork框架中出现此类问题同理。
?
在配置文件中加入红色标注的行
<prop key="hibernate.connection.SetBigStringTryClob">true</prop>
?
在sessionFactory的bean中加入该内容
?
然后再vo的.hbm.xml中的clob字段将type定义为text类型
?
????????<property?name="edmContent"?type="text">
????????????<column?name="EDM_CONTENT"?/>
????????</property>
?
然后再po中,将clob的字段定义为String?类型就可以了
?
?
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
?
出现如上错误如下进行解决:
网络编程HttpClient?要一个包commons-codec-1.x.jar
?
你可以从这个地址http://commons.apache.org/downloads/download_codec.cgi?下载到最新的?common codec
?
?
HttpClient httpClient = new HttpClient();
???????httpClient.getParams().setParameter(
??????????HttpMethodParams.HTTP_CONTENT_CHARSET,?"UTF-8");
?
当你加载上过滤器后,你查看是否会出现一个页面同时加载了多次;
这样的现象很头大,有时候不容易发现,但是这是由什么引起的呢?
?
查看一下你的filter中的这句话
filterChain.doFilter(request, response);
是否出现了多次(执行了多次)
如果执行多次则会出现上面的问题,那么将这个做判断,一次拦截中只出现一次即可。
当调用2次filterChain.doFilter(request, response);该方法后,将会出现如下错误
java.lang.IllegalStateException
?
还是和上面的解决方法一样。
?
?
现象描述:
windows上加解密正常,linux上加密正常,解密时发生如下异常:
?
javax.crypto.BadPaddingException:?Given final block not properly padded
? ? ? ?at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
? ? ? ?at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
? ? ? ?at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..)
? ? ? ?at javax.crypto.Cipher.doFinal(DashoA13*..)
? ? ? ?at chb.test.crypto.AESUtils.crypt(AESUtils.java:386)
? ? ? ?at chb.test.crypto.AESUtils.AesDecrypt(AESUtils.java:254)
? ? ? ?at chb.test.crypto.AESUtils.main(AESUtils.java:40)?
解决方法:
经过检查之后,定位在生成KEY的方法上,如下:
KeyGenerator kgen = KeyGenerator.getInstance("AES");????????????????????//AES加密,创建密钥生成器,定义它的算法?
kgen.init(128,?new SecureRandom(password.getBytes()));???//使用已创建的随机源初始化密钥生成器
?
?
修改到如下方式,问题解决:
KeyGenerator kgen = KeyGenerator.getInstance("AES");????????????????????//AES加密,创建密钥生成器,定义它的算法
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG" );?
secureRandom.setSeed(password.getBytes());?
kgen.init(128,secureRandom);???//使用已创建的随机源初始化密钥生成器
红色加粗处是修改后的内容
原因分析
?
SecureRandom?实现完全隨操作系统本身的內部狀態,除非調用方在調用?getInstance?方法之後又調用了?setSeed?方法;该实现在?windows?上每次生成的?key?都相同,但是在?solaris?或部分?linux?系统上则不同。
?
?
String uri=hsr.getRequestURI();
//获取完整路径+参数
String query=hsr.getQueryString();
if(query!=null){
???????uri+="?"+query;
}
?
获取到完整的uri(但是没有参数)
String uri=hsr.getRequestURI();
获取到请求的完整的参数
String query=hsr.getQueryString();
如果参数不为空,则将uri连接上参数形成完整的uri地址
if(query!=null){
???????uri+="?"+query;
}
?
?
?
当执行dir时,报了如下错误:
-bash: /usr/bin/dir: /lib/ld-linux.so.2: bad ELF interpreter:
?
因为我移动文件时移动错了,将根目录下的lib移动到其他位置了
然后再将lib移动回根目录即可
?
注:
移动lib时一定要注意前面的是否是/lib(根目录),否则出现问题后很郁闷的
?
?
?
D:\Program Files (x86)\Apache2.2\bin>httpd.exe
httpd.exe: Could not reliably determine the server's fully qualified domain name
, using 192.168.0.127 for ServerName
(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。??: make_sock: cou
ld not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
?
报上面错误是由于80端口冲突,所以修改apache端口就好了
?
?
打开浏览器后提示403:
You don't have permission to access / on this server.
解决方法:
将httpd.conf的内容:
<Directory?/>
????Options FollowSymLinks
??? AllowOverride None
??? Order deny,allow
??? Deny from all?
</Directory>
修改为
<Directory?/>
????Options?Indexes?FollowSymLinks
????AllowOverride?None
</Directory>
?
?
?
在httpd.conf中找到如下内容:
<Directory />
????Options??Indexes??FollowSymLinks
????AllowOverride None
</Directory>
?
将上面的Indexes删除即可
<Directory />
????Options??FollowSymLinks
????AllowOverride None
</Directory>
?
?
在filter中将未登陆的按照如下方式跳转:
//?未登录,跳转到登录页
?????????????????
??????????????????PrintWriter out = response.getWriter();
??????????????????out.print("<script>window.top.location.href='"
?????????????????????????+ hsr.getContextPath() +?"/front/login.jsp';</script>");
?
但是当执行filter跳转时出现了问题,跳转到页面时,没有达到预期的效果,出现下面的状况:
url已被拦截,但是却没有达到预期效果跳到指定页面;
那么我们同firefox?的debug看?一下它的content-type
这里不是text/html
因为我们在执行输出时没有设定content-type
所以我们将过滤器输出的前面修改一下:
加上一行:
response.setContentType("text/html;charset=UTF-8");
?
下面是完整代码:
//?未登录,跳转到登录页
??????????????????response.setContentType("text/html;charset=UTF-8");
??????????????????PrintWriter out = response.getWriter();
??????????????????out.print("<script>window.top.location.href='"
?????????????????????????+ hsr.getContextPath() +?"/front/login.jsp';</script>");
设置好后,然后再试验后,可以进行成功跳转了
所以在进行write.print时一定要注意设置content-type这里一定要注意,否则有时候找这样的问题郁闷死
?
加大tomcat连接数:
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
?
linux下tomcat?部署后,下载文件一段时间后总是报如下错误:
java.net.SocketException: Too many open files
windows下是没有问题的,linux对进程的打开文件数是有限制的。
?
?
用命令ulimit -a查看
[root@test security]# ulimit -a?
core file size??????? (blocks, -c) 0?
data seg size???????? (kbytes, -d) unlimited?
file size???????????? (blocks, -f) unlimited?
max locked memory???? (kbytes, -l) unlimited?
max memory size?????? (kbytes, -m) unlimited?
open?files??????????????????? (-n) 1024?
pipe size????????? (512 bytes, -p) 8?
stack size??????????? (kbytes, -s) 8192?
cpu time???????????? (seconds, -t) unlimited?
max user processes??????????? (-u) 7168?
virtual memory??????? (kbytes, -v) unlimited?
[root@test security]#?
通过以上命令,我们可以看到open?files?的最大数为1024
?
对于并发量比较大的网站这个限制是有些捉襟见肘的,所以我通过这个命令
?
ulimit -n 4096?
把打开文件数的上限设为了4096,这下好了,项目又稳定了
但是重新登陆后,用ulimit -n 4096?设置的值貌似会变回去,所以需要永久设置open?files??的值才行啊
?
所以换下面的方式试试:
?
用ulimit -n?修改open files?总是不能保持。所以用下面一个简单的办法更好些。
修改/etc/security/limits.conf?添加如下一行:
* - nofile 1006154
修改/etc/pam.d/login添加如下一行
session required /lib/security/pam_limits.so
?
还有更重要的就是在对于io进行操作时,需要注意对于流的关闭
?
?
当执行spring?定时器时,在tomcat中执行了2次
什么问题呢?
因为在server.xml中:
?
??????<Host name="localhost"??appBase="webapps"
????????????unpackWARs="true" autoDeploy="true"
????????????xmlValidation="false" xmlNamespaceAware="false">
????????????????????????????<Context path="" docBase="/usr/file/tomcat6/webapps/point" debug="0" reloadable="true" crossContext="true"/>
?
这里appbase=”webapps”,然后下面有配置了
<Context path="" docBase="/usr/file/tomcat6/webapps/point" debug="0" reloadable="true" crossContext="true"/>
由于point在webapps下,所以就执行了2次
解决方法如下
将appbase=””设置为空就可以了
?
?
将字符串格式为:Wed Sep 14 14:39:57 CST 2011转为date?方式如下:
java.util.Date da=new java.util.Date("Wed Sep 14 14:39:57 CST 2011 ");
?
?
hibernate?通过注入id的方式手动设置主键方式
在.hbm.xml配置文件中
????????<id?name="id"?type="java.lang.String">
????????????<column?name="ID"??/>
????????????<generator?class="assigned"?/>
????????</id>
将主键的方式设置为assigned就可以了
??<generator?class="assigned"?/>
?
用?svn?用户进入到svn的目录的bin下
[svnuser@jdodrc bin]$ sh csvn
Usage: csvn { console | start | stop | restart | condrestart | status | install | remove | dump }
执行csvn后,有这么多命令可以执行
那么我们执行一个start和console就可以了
Start是启动svn服务
[svnuser@jdodrc bin]$ sh csvn start
Console是启动csvn的控制台
[svnuser@jdodrc bin]$ sh csvn console
?
?
工具——账户——邮件,选择你要保留的那个邮件地址,点属性——高级,在最下边有一项在服务器上保留邮件副本,在前面点上勾,点击确定就行了。
?
?
?
?
File directory = new File("");//设定为当前文件夹
try{
??? System.out.println(directory.getCanonicalPath());//获取标准的路径
??? System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){}
?
?
?
?
String a[]={"1","2"};
???????String b[]={};
???????a[0]="3";
???????b=a;
???????a[0]="4";
???????String?c[]=a;
???????System.out.println(b);
?????System.out.println(c);
????
这里更改内容后,最后输出的结果为:
[Ljava.lang.String;@de6ced
[Ljava.lang.String;@de6ced
可以看出b,c?是一样的对象,
?
下面我们在b=a.clone();这样进行对象复制后试一下
???????String?a[]={"1","2"};
???????String b[]={};
???????a[0]="3";
???????b=a.clone();
???????a[0]="4";
???????String?c[]=a.clone();
???????System.out.println(b);
?????System.out.println(c);
输出结果为:
[Ljava.lang.String;@de6ced
[Ljava.lang.String;@c17164
可以看出b,c是2个不同的对象
然后看一下输出更新的内容:
???????System.out.println(b[0]);
?????System.out.println(c[0]);
是:
3
4
?
也进行更新了,所以对于对象的复制用
对象.clone()
?
?
monospace; line-height: 1.5; font-size: 10pt;">?????????private?void?read(FileInputStream fs)?throws?IOException{
????????StringBuffer sb =?new?StringBuffer();?
????????BufferedReader br =new?BufferedReader(new?InputStreamReader(fs));
????????String s=null;
????????while((s=br.readLine()) !=?null)?
????????????????????????????????????{?
????????????????????????????????????????sb.append(s);?
????????????????????????????????????}?
?????????????????????????????System.out.println(sb.toString());
?????????????}
?
?
General-->Appearance-->Colors and Fonts-->Basic-->Text Font
?
?
下面是关于mysql中如何写出更高效的分页SQL的具体例子及简单的对比分析,推荐使用下文所提到的“优化写法”!
1、优化写法:?(先根据过滤条件取出主键id进行排序,再进行join操作取出其他相关字段)
select??t.id, t.thread_id, t.group_id, t.deleted, t.author_id,t.author_nick, t.author_ip,
t.content, t.last_modified, t.gmt_create, t.gmt_modified, t.floor, t.reply, t.reply_time from
(select id from group_thread_reply_0029 where thread_id = 771025 and deleted = 0 order by gmt_create asc limit 0, 15) a,group_thread_reply_0029 t where a.id = t.id;
?
?
更新WEB项目名称后,部署到TOMCAT上名称与项目名称不一样,解决方法如下:
右键项目->properties
然后打开下图,修改红框位置的名称与项目名称一致后,再部署到tomcat,项目名称和部署后的项目名称就一致了
?
当通过myEclipse反向生成VO时,myEclipse报了如下错误:
解决方法如下:
打开项目的目录,然后打开.project文件
找到如下内容:
<natures>
??????????????<nature>com.genuitec.eclipse.hibernate.hibernatenature</nature>
??????????????<nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
??????????????<nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
??????????????<nature>org.eclipse.jdt.core.javanature</nature>
???????</natures>
???????然后删掉
???????<nature>com.genuitec.eclipse.hibernate.hibernatenature</nature>
???????这句话,保存.project文件,然后刷新myEclipse的项目
?
在虚拟机中安装ghost?版的xp时会安装不上,是因为虚拟机中的磁盘没有进行分区,所以需要先进行分区才可以进行安装。
???????
然后点击add hibernate capabilities添加hibernate支持,添加完hibernate支持后再进行反向工程则没有问题。
?
?
?
leapftp主动模式
选择图片内红框的形式就可以
?
?
vi /etc/passwd
类似:
guest:x:502:502::/ftp/guest:/bin/bash
?
在页面中,由于IE有8、9,但是默认都不是兼容模式,在你的页面中加入下列语句,将内容兼容到IE7模式,那么浏览器则默认兼容模式为IE7
<META content="IE=7.0000" http-equiv="X-UA-Compatible"/>
?
?
?
String filePath = request.getParameter("filePath");
??????????????//String webRoot = request.getSession().getServletContext().getRealPath("/");
??????????????File file = new File(filePath);
??????????????//取铃声名称,不包含扩展名
??????????????String name = file.getName().substring(0, file.getName().length()-4);
??????????????AudioFileFormat af = AudioSystem.getAudioFileFormat(file);
??????????????//获取mp3码率
??????????????int bitRate = (Integer)af.properties().get("mp3.bitrate.nominal.bps");
??????????????bitRate = bitRate / 1000;
??????????????//获取播放时间
??????????????Long duration = (Long)af.properties().get("duration");
??????????????duration = duration / 1000000;
??????????????//获取文件大小
??????????????Integer bytes = (Integer) af.properties().get("mp3.length.bytes");
??????????????Double fileSize = bytes /(1024.0*1024.0);
??????????????DecimalFormat df = new DecimalFormat("#.00");
??????????????fileSize = Double.parseDouble(df.format(fileSize));
?
?
?
^((?!^baidu$).)*$
比如上面是不为baidu的则全部为真
?
^((?!^http://([a-z0-9]*\.)*baidu\.com$).)*$
比如匹配http://baidu.com(除了baidu都可以)
?
?
?
在eclipse中报错@override,解决方法是
Properties-->java Compiler-->Compiler Compliance Level?调整为6.0就ok了
下面标红框位置即是:
?
?
myEclipse9.0
?
?
-Djava.rmi.server.hostname=192.168.1.80
-Dcom.sun.management.jmxremote.port=8089
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
?
在JAVA的执行参数中配置上如上内容即可
-Djava.rmi.server.hostname?这个是机器IP
-Dcom.sun.management.jmxremote.port?是jconsole的端口
-Dcom.sun.management.jmxremote.ssl是否需要SSL连接
-Dcom.sun.management.jmxremote.authenticate是否密码链接
?
如果需要监测TOMCAT,需要在catalina.sh或者catalina.bat加上如上参数,上面的端口是监测端口,所以在监测时输入IP和端口即可监测(端口是上面配置的端口)
在Eclipse中的?Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced
里的「Select the proposal kinds contained in the 'default' content assist list」把「Other Java Proposals」选择打勾后,应用就可以解决这个问题了。
?
?
?
?
?
?
?
1、Eclipse下进入Windows ->Preperences ->General ->keys
2、把word completion的快捷键设置alt+/删掉!
3、把Content Assist的快捷键由ctrl+space改成alt+/
?
当启动myeclipse时,报了如下错误:
could not create the java virtual machine
?
在myEclipse下的eclipse目录下找到eclipse.ini文件打开
然后将如下2个值相应改小即可;
-XX:PermSize=64M
-XX:MaxPermSize=128M
?
?
?
当用JDBC操作数据库时,报了如下错误:
java.sql.SQLException: Parameter index out of range (0 < 1 ).
是因为索引越界了
JDBC这块的索引是从1开始,不是0,所以需要注意
PreparedStatement ps = conn.prepareStatement(sql);
???????????ps.setString(1,?"xxxxx");
???????????ps.setString(2,?"2012-03-31");
?
?
时间类型保存直接用
????ps.setString(2,?"2012-03-31");
的string?方式保存即可
?
?
JDBC A表进行插入后,
通过select LAST_INSERT_ID()
SQL语句获取到刚刚插入的ID,然后再插入到B表等,如果中间抛出了异常的话,那么回滚即可
?
在进行hibernate逆向生成映像文件时,报如下错误时:
An internal error occurred during: "Generating Artifacts".
com/mysql/jdbc/DatabaseMetaData$5
因为我们在添加hibernate支持时,在我们的项目下有了2种hibernate包,所以才有了版本不同,所以需要去除一种就可以了。
?
?
?
DATE_FORMAT(g.createTime,'%Y-%m-%d')
?
?
除去properites文件路径错误、拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因。
?
比如在spring?配置文件中配置了如下2个properties
????<context:property-placeholder?location="classpath:jdbc.properties"?/>
????<context:property-placeholder?location="classpath:config.properties"?/>
?
那么肯定会报上面的错。
Spring 3.0解决方法:
在content标签内加入:ignore-unresolvable="true"即可,举例如下:
?
<context:property-placeholder?location="classpath:jdbc.properties"?ignore-unresolvable="true"?/>
????<context:property-placeholder?location="classpath:config.properties"?ignore-unresolvable="true"?/>
?
这样就没有问题了,那么我们为什么要引入这些properties呢,因为这样我们可以配置参数等信息,如JDBC参数配置:
<property name="driverClass"?value="${jdbc.driverClassName}"?/>
?
当启动tomcat报如下错误时:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
?
当报如上错误时,在
Tomcat?的bin目录下catalina.bat(windows)或catalina.sh(linux)中添加上
JAVA_HOME和JRE_HOME 2个环境变量
如果是windows用?set ,如果是linux用export
例如:
Set JRE_HOME
Set JAVA_HOME
或
Export JAVA_HOME
Export JRE_HOME
?
选择UTF-8
然后再这里输入地址保存即可
?
修改为UTF-8 VI?可解决乱码,但是提示却是乱码,所以这里需要设置为2种即可。
?
按:12
则跳转到12行
?
:set nu
设置了高亮搜索(:set hlsearch)以后,可以通过?:set nohlsearch?永久地关闭高亮
显示,也可以通过?:nohlsearch?暂时关闭高亮显示,下次搜索时将自动恢复高亮。
?
?
当启动tomcat后,执行JSP,报了如下错误:
?org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 23 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
?
那么是包冲突所致,我这里面是jsp-api.jar和jsp-api 2.0.jar冲突,删除项目中的jsp-api 2.0.jar即可解决问题。
?
Window->preferences->keys
查找到alt+/?是word completion?将它改为其他的快捷键
然后查找content Assist?,然后将它的快捷键改为alt+/即可进行提示