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十条开发实用小知识,希望对大家有所帮助!