欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java Web十条开发实用小知识

程序员文章站 2024-03-11 22:24:19
 1.${ctx}与 ${pagecontext.request.contextpath}这两个为一个意思,都是获取当前根目录。 不同的是${ctx}为$...

 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;

Java Web十条开发实用小知识

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