Java Web十条开发实用小知识
1.${ctx}与 ${pagecontext.request.contextpath}这两个为一个意思,都是获取当前根目录。
不同的是${ctx}为${pagecontext.request.contextpath}的简写版,经查证之后果真如此,发现在项目的一个文件内有这样一段话
的配置
<c:setvar="ctx"value="${pagecontext.request.contextpath}"/>
注意在使用${ctx的时候一定不要忘记把带有该配置的
<c:setvar="ctx"value="${pagecontext.request.contextpath}"/>
的文件引入到当前页面来。
2.oracle clob字段转换为varchar: to_char(substr(a.mcontent,1,3800))
3.
1.实际上处理clob字段的时候,直接to_char,当长度超过4000的时候,会报错,提示列被截取;
2.直接使用substr对clob字段进行截取,是不能起到任何作用的;
3.可以使用dbms_lob.substr(clobcolumn,4000),对clob字段进行截取;截取的长度是4000还是2000根据存储的是汉字和数据决定长度。
4.tomcat内存优化:在arguments后面直接添加:
-xms1024m -xmx1024m -xx:permsize=128m -xx:maxnewsize=64m -xx:maxpermsize=256m
5.oracle中查询树形数据的sql语句
select dept_id,dept_name,level from test_dept start with dept_id='0' connect by prior dept_id=parent_id;
经过我的验证,以上是查询所有的数据,即总公司的。 查询分公司1的方法是:
select dept_id,dept_name,level from test_dept start with dept_id='1' connect by prior dept_id=parent_id;
6.mysql 关于mysql server has gone away的问题解决方法
mysql>show global variables like ‘max_allowed_packet';
show: max_allowed_packet 1048576
解决方法:
mysql>set global max_allowed_packet=1024*1024*16; mysql>show global variables like ‘max_allowed_packet'; show: max_allowed_packet 16777216
ok。
7.oracle关于无法删除当前连接的数据库的解决方法
描述问题:oracle中用户删除不了,提示“无法删除当前已连接的用户”
解决方法:
1.查看用户的连接状况: select username,sid,serial# from v$session
2.找到要删的用户的sid和serial,并删掉: alter system kill session ‘532,4562'
3.删除用户: drop user username cascade
–当前登录user select user from dual; select sys_context (‘userenv', ‘session_user') from dual;
–当前登录sid select sys_context(‘userenv','sid') from dual;
8.tomcat 传入后台时,中文会在页面显示出现乱码
原因分析:
tomcat默认编码是iso8859-1
solution
在tomcat的server.xml中的connector里配置一个uriencoding=”utf-8”
修改tomcat的server.xml,在connector标签中加上urlencoding参数:
maxsparethreads="75" enablelookups="false" redirectport="8443"
acceptcount="100" debug="99" connectiontimeout="20000"
disableuploadtimeout="true" uriencoding="utf-8"/>
9.intellij idea 中facets和artifacts的区别
facets 表示这个module有什么特征,比如 web,spring和hibernate等;
artifact 是maven中的一个概念,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式;
一个module有了 artifacts 就可以部署到应用服务器中了!
10.intellij idea 在给项目配置artifacts的时候有好多个type的选项,exploed是什么意思
explode 在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。
默认情况下,idea的 modules 和 artifacts 的 output目录 已经设置好了,不需要更改,打成 war包 的时候会自动在 web-inf目录 下生产 classes目录,然后把编译后的文件放进去。
以上内容是小编给大家介绍的java web十条开发实用小知识,希望对大家有所帮助!