欢迎光临
我们一直在努力

java初学者必读-经验总结-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

3:tomcat服务器配置:

1):设置好系统环境变量。

2):java_home=g:\jbuilder6\jdk1.3.1

g:\jbuilder6\jdk1.3.1为jdk安装目录

3):tomcat_home=tomcat安装目录

4:修改serlet而不重新启动tomcat

修改

%tomcat_home%\conf\server.xml

大致如下:

<context path="" docbase="root" debug="0" reloadable="true"/>

其中reloadable就是配置是否自动reload的,把它设为true,如果没有这一项,加上。

5:修改webshpere中的servlet而不重新启动服务:

修改..\web-inf下面的web.xml:

加入<webappext:webappextension xmi:version="2.0" xmlns:xmi="http://www.omg.org/xmi" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmi:id="webapp_id_ext" reloadinterval="3" reloadingenabled="true" fileservingenabled="true" directorybrowsingenabled="true" serveservletsbyclassnameenabled="true">其中reloadinterval="3" reloadingenabled="true" fileservingenabled="true" directorybrowsingenabled="true" serveservletsbyclassnameenabled="true"是主要的,reloadinterval="3" reloadingenabled="true" 是说修改后3秒自动重新载

入。

6:配置jbuilder6+webshpere4.0ae,其实jb7可以参照:

首先安装j2ee,然后把j2ee加入到jb的libraries里面。方法如下

1:)tools—>configure libraries–>new—>name:里面填写j2ee,location:里面默认的旧可以了。—->add–>选在j2ee安装路径,选中lib文件夹--ok–ok.

 2:)返回到configure libraries也面后,选中required libraries–>add--》选中你刚才创建的j2ee,点ok就可以了。

然后配置webshpere应用服务器和database pilot:

第一步:tools–>enterprise setup–>application servers设置安装路径以及ibm的java路径,db2你自己看着办

第二步:project–>defaults project properties里servers选择ws4.0,应该可以用了

webshpere4.0不支持ejb2.0,webshpere5.0支持。

配置database pilot

第一步:添加类库tools–>config libraries添加你的数据库驱动程序类

第二步:tools–>enterprise setup–>database drivers里面添加你刚添加的那个类库

第三步:重启jbilder后,tools–>database pilot–>option–>drivers,添加驱动程序

第四步:在database pilot点新建就可以了,driver:com.ibm.db2.jdbc.app.db2driver。url:jdbc:db2:db_sdbc.(db_sdbc为服务器上的db2数据库).

7:解决java中文问题:

针对applet和awt:

1:)

font f = new font(uiresource.getstring( "default_font"),font.plain,12);

uimanager.put("label.font",f);

uimanager.put("label.foreground",color.black);

uimanager.put("button.font",f);

uimanager.put("menu.font",f);

uimanager.put("menuitem.font",f);

uimanager.put("list.font",f);

uimanager.put("checkbox.font",f);

uimanager.put("radiobutton.font",f);

uimanager.put("combobox.font",f);

uimanager.put("textarea.font",f);

2:)

font f = new font("隶书",font.plain,15);

uimanager.put("button.font",font);

uimanager.put("togglebutton.font",font);

uimanager.put("radiobutton.font",font);

uimanager.put("checkbox.font",font);

uimanager.put("colorchooser.font",font);

uimanager.put("togglebutton.font",font);

uimanager.put("combobox.font",font);

uimanager.put("comboboxitem.font",font);

uimanager.put("internalframe.titlefont",font);

uimanager.put("label.font",font);

uimanager.put("list.font",font);

uimanager.put("menubar.font",font);

uimanager.put("menu.font",font);

uimanager.put("menuitem.font",font);

uimanager.put("radiobuttonmenuitem.font",font);

uimanager.put("checkboxmenuitem.font",font);

uimanager.put("popupmenu.font",font);

uimanager.put("optionpane.font",font);

uimanager.put("panel.font",font);

uimanager.put("progressbar.font",font);

uimanager.put("scrollpane.font",font);

uimanager.put("viewport",font);

uimanager.put("tabbedpane.font",font);

uimanager.put("tableheader.font",font);

uimanager.put("textfield.font",font);

uimanager.put("passwordfiled.font",font);

uimanager.put("textarea.font",font);

uimanager.put("textpane.font",font);

uimanager.put("editorpane.font",font);

uimanager.put("titledborder.font",font);

uimanager.put("toolbar.font",font);

uimanager.put("tooltip.font",font);

uimanager.put("tree.font",font);

 3:)针对jsp和servlet:

解决办法:

第一:

在jsp页面加入:

<%@ page contenttype="text/html; charset=gb2312" %>

或者在servlet里面

public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {

response.setcontenttype("text/html; charset=gb2312");//这是重要的

上面的如果在不行就用如下的方法在数据入库前进行调用:

public static string unicodetochinese(string s){

try{

if(s==null||s.equals("")) return "";

string newstring=null;

newstring=new string(s.getbytes("iso8859_1"),"gb2312");

return newstring;

}

catch(unsupportedencodingexception e)

{

return s;

}

}

public static string chinesetounicode(string s){

try{

if(s==null||s.equals("")) return "";

string newstring=null;

newstring=new string(s.getbytes("gb2312"),"iso8859_1");

return newstring;

}

catch(unsupportedencodingexception e)

{

return s;

}

}

3:)解决weblogic/webshpere中文问题:

在web.xml文件中需要配置中文环境。r如下:

<context-param>

<param-name>weblogic.httpd.inputcharset./*</param-name>

<param-value>gb2312</param-value>

</context-param>

  4:)javamail附件中文乱码:

/*

@从bodypart中提取使用iso-8859-1编吗的文件名

@因为bodypart.getfilename()过程已经对文件名作了一次编码,有时不能直接使用

*/

public static string getisofilename(part body){

//设置一个标志,判断文件名从content-disposition中获取还是从content-type中获取

boolean flag=true;

if(body==null){

return null;

}

string[] cdis;

try{

cdis=body.getheader("content-disposition");

}

catch(exception e){

return null;

}

if(cdis==null){

flag=false;

}

if(!flag){

try{

cdis=body.getheader("content-type");

}

catch(exception e){

return null;

}

}

if(cdis==null){

return null;

}

if(cdis[0]==null){

return null;

}

//从content-disposition中获取文件名

if(flag){

int pos=cdis[0].indexof("filename=");

if(pos<0){

return null;

}

//如果文件名带引号

if(cdis[0].charat(cdis[0].length()-1)=="){

return cdis[0].substring(pos+10,cdis[0].length()-1);

}

return cdis[0].substring(pos+9,cdis[0].length());

}

else{

int pos=cdis[0].indexof("name=");

if(pos<0){

return null;

}

//如果文件名带引号

if(cdis[0].charat(cdis[0].length()-1)=="){

return cdis[0].substring(pos+6,cdis[0].length()-1);

}

return cdis[0].substring(pos+5,cdis[0].length());

}

}

8:字符串分割:

    public int getcount(string str,string sign){//查找某一字符串中str,特定子串s的出现次数

if(str==null) return 0;

stringtokenizer s=new stringtokenizer(str,sign);

return s.counttokens();

}

 public string[] getarray(string str,string sign){//按特定子串s为标记,将子串截成数组。

int count=getcount(str,sign);

int j=0;

string[] arr=new string[count];

for(int i=0;i<count;i++){

if(str.indexof(sign)!=-1){

j =str.indexof(sign);

arr[i]=str.substring(0,j);

str =str.substring(j+1);

}else{

arr[i]=str;

}

}

return arr;

}

9:jdk1.3没有字符串替换函数,(jdk1.4有)。

解决1.3中的个这个问题如下:

public string stringreplace(string sourcestring, string toreplacestring, string replacestring)

{

string returnstring = sourcestring;

int stringlength = 0;

if(toreplacestring != null)

{

stringlength = toreplacestring.length();

}

if(returnstring != null && returnstring.length() > stringlength)

{

int max = 0;

string s4 = "";

for(int i = 0; i < sourcestring.length(); i++)

{

max = i + toreplacestring.length() > sourcestring.length()? sourcestring.length():i + stringlength;

string s3 = sourcestring.substring(i, max);

if(!s3.equals(toreplacestring))

{

s4 += s3.substring(0,1);

}else{

s4 += replacestring;

i += stringlength -1 ;

}

}

returnstring = s4;

}

return returnstring;

}

9:设置weblogic连接池:

pool的配置:

假设已配置服务:expserv

且数据库服务器机器名为:expserv

数据库sid:expservsid,用户名和密码都为:expserv

以weblogic7.0为例,首先启动服务

http://localhost:port/console

打开service\jdbc\connection pools

配置oraclepool如下:

configuration:

name: oraclepool

url: jdbc:oracle:thin:@expserv:1521:expservsid

driver classname: oracle.jdbc.driver.oracledriver

properties(key=value): user=expserv

targets:

targets-server:expserv

在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。

10:数字转货币大写(js)

function changetobig(value)

{

var intfen,i;

var strarr,strcheck,strfen,strdw,strnum,strbig,strnow;

if(trim(value)=="") //数据为空时返回"零"

return "零";

if (isnan(value)) //数据非法时提示,并返回空串

{

strerr = "数据"+value+"非法!"

alert(strerr);

return "";

}

strcheck = value+".";

strarr = strcheck.split(".");

strcheck = strarr[0];

if(strcheck.length>12) //数据大于等于一万亿时提示无法处理

{

strerr = "数据"+value+"过大,无法处理!"

alert(strerr);

return "";

}

try

{

i = 0;

strbig = "";

intfen = value*100; //转换为以分为单位的数值

strfen = intfen.tostring();

strarr = strfen.split(".");

strfen = strarr[0];

intfen = strfen.length; //获取长度

strarr = strfen.split(""); //将各个数值分解到数组内

while(intfen!=0) //分解并转换

{

i = i+1;

switch(i) //选择单位

{

case 1:strdw = "分";break;

case 2:strdw = "角";break;

case 3:strdw = "元";break;

case 4:strdw = "拾";break;

case 5:strdw = "佰";break;

case 6:strdw = "仟";break;

case 7:strdw = "万";break;

case 8:strdw = "拾";break;

case 9:strdw = "佰";break;

case 10:strdw = "仟";break;

case 11:strdw = "亿";break;

case 12:strdw = "拾";break;

case 13:strdw = "佰";break;

case 14:strdw = "仟";break;

}

switch (strarr[intfen-1]) //选择数字

{

case "1":strnum = "壹";break;

case "2":strnum = "贰";break;

case "3":strnum = "叁";break;

case "4":strnum = "肆";break;

case "5":strnum = "伍";break;

case "6":strnum = "陆";break;

case "7":strnum = "柒";break;

case "8":strnum = "捌";break;

case "9":strnum = "玖";break;

case "0":strnum = "零";break;

}

//处理特殊情况

strnow = strbig.split("");

//分为零时的情况

if((i==1)&&(strarr[intfen-1]=="0"))

strbig = "整";

//角为零时的情况

else if((i==2)&&(strarr[intfen-1]=="0"))

{ //角分同时为零时的情况

if(strbig!="整")

strbig = "零"+strbig;

}

//元为零的情况

else if((i==3)&&(strarr[intfen-1]=="0"))

strbig = "元"+strbig;

//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零

else if((i<7)&&(i>3)&&(strarr[intfen-1]=="0")&&(strnow[0]!="零")&&(strnow[0]!="元"))

strbig = "零"+strbig;

//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过

else if((i<7)&&(i>3)&&(strarr[intfen-1]=="0")&&(strnow[0]=="零"))

{}

//拾-仟中一位为零且其前一位是元且为零的情况时跨过

else if((i<7)&&(i>3)&&(strarr[intfen-1]=="0")&&(strnow[0]=="元"))

{}

//当万为零时必须补上万字

else if((i==7)&&(strarr[intfen-1]=="0"))

strbig ="万"+strbig;

//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零

else if((i<11)&&(i>7)&&(strarr[intfen-1]=="0")&&(strnow[0]!="零")&&(strnow[0]!="万"))

strbig = "零"+strbig;

//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过

else if((i<11)&&(i>7)&&(strarr[intfen-1]=="0")&&(strnow[0]=="万"))

{}

//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过

else if((i<11)&&(i>7)&&(strarr[intfen-1]=="0")&&(strnow[0]=="零"))

{}

//万位为零且存在仟位和十万以上时,在万仟间补零

else if((i<11)&&(i>8)&&(strarr[intfen-1]!="0")&&(strnow[0]=="万")&&(strnow[2]=="仟"))

strbig = strnum+strdw+"万零"+strbig.substring(1,strbig.length);

//单独处理亿位

else if(i==11)

{

//亿位为零且万全为零存在仟位时,去掉万补为零

if((strarr[intfen-1]=="0")&&(strnow[0]=="万")&&(strnow[2]=="仟"))

strbig ="亿"+"零"+strbig.substring(1,strbig.length);

//亿位为零且万全为零不存在仟位时,去掉万

else if((strarr[intfen-1]=="0")&&(strnow[0]=="万")&&(strnow[2]!="仟"))

strbig ="亿"+strbig.substring(1,strbig.length);

//亿位不为零且万全为零存在仟位时,去掉万补为零

else if((strnow[0]=="万")&&(strnow[2]=="仟"))

strbig = strnum+strdw+"零"+strbig.substring(1,strbig.length);

//亿位不为零且万全为零不存在仟位时,去掉万

else if((strnow[0]=="万")&&(strnow[2]!="仟"))

strbig = strnum+strdw+strbig.substring(1,strbig.length);

//其他正常情况

else

strbig = strnum+strdw+strbig;

}

//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零

else if((i<15)&&(i>11)&&(strarr[intfen-1]=="0")&&(strnow[0]!="零")&&(strnow[0]!="亿"))

strbig = "零"+strbig;

//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过

else if((i<15)&&(i>11)&&(strarr[intfen-1]=="0")&&(strnow[0]=="亿"))

{}

//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过

else if((i<15)&&(i>11)&&(strarr[intfen-1]=="0")&&(strnow[0]=="零"))

{}

//亿位为零且不存在仟万位和十亿以上时去掉上次写入的零

else if((i<15)&&(i>11)&&(strarr[intfen-1]!="0")&&(strnow[0]=="零")&&(strnow[1]=="亿")&&(strnow[3]!="仟"))

strbig = strnum+strdw+strbig.substring(1,strbig.length);

//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零

else if((i<15)&&(i>11)&&(strarr[intfen-1]!="0")&&(strnow[0]=="零")&&(strnow[1]=="亿")&&(strnow[3]=="仟"))

strbig = strnum+strdw+"亿零"+strbig.substring(2,strbig.length);

else

strbig = strnum+strdw+strbig;

strfen = strfen.substring(0,intfen-1);

intfen = strfen.length;

strarr = strfen.split("");

}

return strbig;

}catch(err){

return ""; //若失败则返回原值

}

}

11:删除文件夹下的所有目录:

/*

* 删除一个目录下的所有文件

*/

public static void delallfile(string path) {

file file = new file(path);

if(!file.exists()) return;

if(!file.isdirectory()) return;

string[] templist = file.list();

file temp = null;

for(int i = 0; i < templist.length; i++) {

if(path.endswith(file.separator))

temp = new file(path + templist[i]);

else

temp = new file(path + file.separator + templist[i]);

if(temp.isfile()) temp.delete();

if(temp.isdirectory()) delallfile(path + templist[i]);

}

}

12:字符串转换成时间及时间相减:

1:) simpledateformat formatter = new simpledateformat ("yyyy.mm.dd");

//假定像2002.07.04的是合法日期其他都非法。

string str="2002.07.04";

parseposition pos = new parseposition(0);

date dt=formatter.parse(str,pos);

if(dt!=null)

{

//是合法日期

}

else

{

//非法日期

}

2:)

两个日期相减

import java.util.*;

import java.text.*;

class a

{

public static void main(string[] args)

{

string s1 = "2003/08/15 17:15:30";

string s2 = "2002/09/14 14:18:37";

try{

simpledateformat formatter = new simpledateformat ("yyyy/mm/dd hh:mm:ss");

parseposition pos = new parseposition(0);

parseposition pos1 = new parseposition(0);

date dt1=formatter.parse(s1,pos);

date dt2=formatter.parse(s2,pos1);

system.out.println("dt1="+dt1);

system.out.println("dt2="+dt2);

long l = dt1.gettime() – dt2.gettime();

system.out.println("hello world!="+l);

}catch(exception e){

system.out.println("exception"+e.tostring());

}

}

}

3:)得到2个月后的日期:

import java.util.*;

import java.text.dateformat;

public class test2

{

public static void main(string args[]) throws exception

{

string date="2001/11/30";

dateformat dateformat =

dateformat.getdateinstance(dateformat.medium);

gregoriancalendar grc=new gregoriancalendar();

grc.settime(new date(date));

grc.add(gregoriancalendar.month,2);

system.out.println("grc="+dateformat.format(grc.gettime()));

}

}

13:jsp/servet重定向问题:

不改变url的:

1:)servlet:

public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {

getservletcontext().getrequestdispatcher(test2url).forward(request, response);

2:)jsp

<jsp:forward page="/jsp/forward/one.jsp"/>

改变url的:

1:)response.sendredirect("/web/mail/pop3.jsp");

14:jb7+weblogic6.x配置方法如下:

win 2000 temp、tmp 的配置

因为我们生成的 ejb 相关代码要进行一系列的编译,那么所生成的临时文件就要有个地方放啊,但 win2000中的 temp、tmp 目录却偏偏有空格 如%userprofile%\local settings\temp,接下来我们来配置一下:

1) 右击 《我的电脑》 选属性,在弹出的对话框中选 《高级》 ,再选 《环境变量》 按钮,

2) 修改 《administrator 的用户变量》和《系统变量》中的 temp、temp、tmpdir 选项,单击每一个选项,然后点《编辑》(右图),把每个 变量名为 temp、temp、tmpdir 的值都改为 c:\winnt\temp ,当然这不是必须的,只是我建议你这么做。

其实也没什么难的,若改完,则win2000环境这么应该没什么问题了。

weblogic 6.x 部分

一、jdbc connection pool 的配置 以mysql 小型数据库为例

在进行此项配置之前,先将欲使用的 数据库jdbc 驱动 jar 文件放到d:\bea\wlserver6.1\lib\jdbc 目录下(建议这样做,没有jdbc目录就建一个呗),然后编辑d:\bea\wlserver6.1\config\mydomain 下的 startweblogic.cmd 文件,在 classpath 中加入数据库的jdbc驱动文件,如红字部分:

:runweblogic

echo on

set path=.\bin;.\bin\oci817_8;d:\oracle\ora81\bin;%path%

set classpath=.\lib\cr_wls60f.jar;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;.\lib\jdbc\mysql.jar

这样 weblogic 启动时才会加载欲使用的数据库jdbc驱动,配置也才会正常,否则会报错。

1)在weblogic控制台中依次展开services \ jdbc \ connection pools

2)单击 configure a new jdbc connection pool…

3)填入每一项参数,结果如下:

url: jdbc:mysql://127.0.0.1:3306/test

driver classname:org.gjt.mm.mysql.driver

properties(key=value):user=root

4) 别忘了点一下 apply 即应用一下:)

5) connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置

6) 还有至关重要的最后一步,我们做的以上配置工作还没有真正的应用到 weblogic 上,所以还差一步,

选 targets 签,选 servers 签,选 available (可用)中的 myserver ,然后点"–>" ,再点 apply 应用一下。

这样我们所做的工作才会真正有效, weblogic 也才会认识我们配置的 jdbc connection pool

二、配置数据源

1)在weblogic控制台中依次展开services \ jdbc \ tx data sources

2)单击 configure a new jdbc tx data source…

3)填入每一项参数,结果如下:

jndi name: mysqldatasoruce

poolname:mysqlpool

row prefetch size :48

stream chunk size: 2564) 别忘了点一下 apply 即应用一下:)

5) 同样,选 targets 签,选 servers 签,选 available (可用)中的 myserver ,然后点"–>" ,再点 apply 应用一下。

这样我们所做的工作才会真正有效, weblogic 也才会认识我们配置的 datasource。

jbuilder 7 的相关配置

一、数据库驱动的加载

同 weblogic 一样,在进行此项配置之前,先将欲使用的 数据库jdbc 驱动 jar 文件放到 d:\jbuilder7\lib\jdbc 目录下(建议这样做,没有jdbc目录就建一个呗)

1) 开启 jbuilder 7,单击 tools \ enterprise setup …….

2) 在弹出窗口中选择 database drivers 签

3) 再点 add 按钮,弹出新窗口(可能你的与图上的略有不同)

4) 再单击 new … 按钮,弹出新窗口,并改变 name: 的默认值为 mysql (只要有意义,起个什么名都成)

5) 单击 add… 按钮来查找并添加数据库的 jdbc 驱动,当然了,我们到 d:\jbuilder7\lib\jdbc 下去找,选 mysql.jar ,注意,不要把mysql.jar 展开,象图那样选中再按 ok 就行了。

提示:可以配合 shift 和 ctrl 键同时选多个 .jar 文件。

6) 结果如下图,如果有多个需要添加的 .jar 文件,还可点 add… 按钮继续添加。

7) ok 退出.

8) 再ok ,则 mysql jdbc 驱动就已经加入了。

9) 再一次的 ok ,jbuilder 提示要重起后上述配置才会生效,确定并重启 jbuilder。

二、ejb 2.0 和 应用服务器的配置,以 weblogic 6.x为例

在进行此项配置之前要安装 borland enterprise servler 5.02 ,ias 4.5 也成,它俩是一回事,当然了我是有新的不用旧的,安装过程略,因为安装它很 easy ! 基本是一路回车,我把我的安装在 d:\borlandenterpriseserver 下了。

1) 开启 jbuilder 7,单击 tools \ enterprise setup …….

2) 选择 corba 签,在 configuration 下的下拉列表框,选择 visibroker

3) 选择 edit… ,弹出 edit confiuration 窗口

点击path for orb tools

4) 单击 path for orb tools: 旁边的 … 浏览按钮,弹出 select directory 窗口,选择 d:\borlandenterpriseserver5\bin 并 ok。

5) 再 两遍 ok ,jbuilder 又要求你重启,没办法,照它说的做,重启 jbuilder 。

6) 重启后,还要到 tools \ enterprise setup ……. ,选 corba 项,选 edit ,在弹出窗口中选 library for projects: 旁边的 … 按钮

7) 在弹出的新窗口的 user home 中你会发现多了一个选项 borland enterprise server 5.0.2+ client

即 选择图中所示 黑亮的选项,然后 三遍 ok 退出。

8) 再选择 project \ default project properties 项

9) 在弹了对话框中选 server 签,如图,点击 … 按钮,

10) 在弹出的新对话框中,选择 weblogic application server 6.x +,然后复选 enable server ,见图中红框。

11) 复选 enable server 后,其它各项可选或可填,点击 … 按钮,

选择 home directory ;

选择 working directory ;

为你机器所装 weblogic 的位置。

12) 点击 class 签内的add 按钮,如上图,将 d:\bea\wlserver6.1\lib\cr_wls60f.jar 文件添加进来。如上图红线。

再用 move up 按钮,将 d:\bea\wlserver6.1\lib\cr_wls60f.jar 文件移至最项端,因为一般后加的 .jar 文件在最下边。

这一步也比较重要,因为在jbuilder 环境下可以直接启动 weblogic ,那它就要首先检测 license 是否合法,即 cr_wls60f.jar文件

是否存在。

13) 再选择 custom 签,按如下红线所示配置,可能您装的 weblogic 目录位置与我的有不同,但大概意思是一样的。

配置完后,点击 ok 按钮退出

domain name :mydomain

server name: myserver

version:6.1 service pack1(d:/bea/wlserver6.1)

14) 再在如图窗口中的 single server for all services in project 下拉列表框中选择 weblogic application server 6.x+ 如图所示,然后 ok 退出。

15) 至此 jbuiler 7 下与 weblogic 6.x 的配置完成,那我们就开工吧!

15.计算日期间隔

public int getdays(date sd,date ed){

return (ed.gettime()-sd.gettime())/(3600*24*1000)

}

16.日期加减

simpledateformat sdf=new simpledateformat("yyyymmdd");

string str="20011230";

date dt=sdf.parse(str,new parseposition(0));

calendar rightnow = calendar.getinstance();

rightnow.settime(dt);

rightnow.add(calendar.date,2);//你要加减的日期

date dt1=rightnow.gettime();

string restr=sdf.format(dt1,"",new fieldposition(0));

system.out.println(restr);

17.时间显示控制

第一种方式:

<html>

<head><title>取得系统时间</title></head>

<body>

<%java.util.date date=new java.util.date();%>

现在是:<%=date%>

</body>

</html>

运行结果:

现在是:tue jul 31 10:32:52 cst 2001

第二种方式:

<%@ page import="java.util.*, java.text.*" %>

<html>

<head><title>显示当前时间</title></head>

<body>

当前时间:

<%

date now = new date();

out.println(dateformat.gettimeinstance().format(now));

%>

</body>

</html>

运行结果:

10:31:42 am

第三种方式:

<%

java.text.simpledateformat formatter = new java.text.simpledateformat("yyyy年mm月dd日");

java.util.date currenttime_1 = new java.util.date();

out.print(formatter.format(currenttime_1));

%>

运行结果:

2001年07月31日

第四种方式:

<%

java.text.simpledateformat formatter = new java.text.simpledateformat("yyyy/mm/dd hh/mm/ss");

java.util.date currenttime_1 = new java.util.date();

out.print(formatter.format(currenttime_1));

%>

运行结果:

2001/07/31 10/32/52

第三四两种方式其实是一样的他可以产生千变万化的格式。

18.加密&解密

在插入数据库前先将字符串str进行加密:

java.net.urlencoder.encode(string str);

从数据库中取出时再解码:(可以先不加密,只解码,试一试;不行再加密)

java.net.urldecoder.decode(string str);

19.页面刷新:

有三种方法:

1,在html中设置:

<title>xxxxx</title>之後加入下面这一行即可!

定时刷新:<meta http-equiv="refresh" content="10; url=http://自己的url">

10代表刷新间隔

2.jsp

<% response.setheader("refresh","1"); %>

没一秒刷新一次

3.使用javascript:

<script language="javascript">

settimeout("self.location.reload();",1000);

<script>

一秒一次

20.打印:

1.直接调用windows函数

<input type="button" value="print"

onclick="window.focus();window.print()">

2.调用js

//放在head 与 head 之间

<script language=javascript>

<!–

function setprint()

{

wb.execwb(8,1);

}

function previewprint()

{

wb.execwb(7,1)

}

//–>

</script>

//放在body与body之间

<object classid=clsid:8856f961-340a-11d0-a96b-00c04fd705a2 height=0 id=wb width=0>

</object>

<input type="button" value="打印设置" id=button1 name=button1 onclick="setprint();">

<input type="button" value="打印预览" id=button2 name=button2 onclick="previewprint();">

21.将数据用execl在客户端展现:

<style type="text/css">

{

.showtd {color: #003366; }

.hiddentd {display:none; }

.onfocue {color: #cc66ff;}

.offfocue {color:#003366;}

}

#floater {

left: 445px; position: absolute; top: 15px; visibility: visible; width: 125px; z-index: 10}

</style>

<object classid="clsid:0002e510-0000-0000-c000-000000000046" id="spreadsheet1" width="676" height="388">

<param name="htmlurl" value>

<param name="htmldata" value="">

<param name="datatype" value="htmldata">

<param name="autofit" value="0">

<param name="displaycolheaders" value="-1">

<param name="displaygridlines" value="-1">

<param name="displayhorizontalscrollbar" value="-1">

<param name="displayrowheaders" value="-1">

<param name="displaytitlebar" value="-1">

<param name="displaytoolbar" value="-1">

<param name="displayverticalscrollbar" value="-1">

<param name="enableautocalculate" value="-1">

<param name="enableevents" value="-1">

<param name="moveafterreturn" value="-1">

<param name="moveafterreturndirection" value="0">

<param name="righttoleft" value="0">

<param name="viewablerange" value="1:65536">

</object>

<div class="hiddentd" id="tablers">

<table width=95% align=center border=1 cellspacing=0 cellpadding=0>

<tr>

<td>客户名称a</td>

<td>客户名称b</td>

<td>客户名称c</td>

<td>客户名称d</td>

<tr>

<td>abc</td>

<td>def</td> <td>111</td> <td>222</td> <tr>

<td>ddd</td>

<td>dfdf</td>

<td>ddd</td>

<td>ddd</td>

</table>

</div>

<script language="javascript">

spreadsheet1.htmldata = tablers.innerhtml ;

</script>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » java初学者必读-经验总结-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章