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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3