`
dayone
  • 浏览: 361291 次
  • 性别: Icon_minigender_1
  • 来自: xian
社区版块
存档分类
最新评论

Java和Jsp

    博客分类:
  • java
阅读更多

JavaBean:

<jsp:useBean id="expManager" scope="page" class="com.dao.ExpertManager"></jsp:useBean>
<% request.setCharacterEncoding("gb2312");%>
<jsp:setProperty property="*" name="expManager"/>

 

 

Request:

服务器的地址(格式为:http://200.222.211.135:8088/example

String url = request.getProtocol().substring(0, 4).toLowerCase() + "://" + request.getLocalAddr() + ":" + request.getLocalPort() + request.getContextPath();

 

System.out.println("request.getProtocol():"+request.getProtocol());  >>>>>>HTTP/1.1

返回请求使用的协议。可以是HTTP1.1或者HTTP1.0。

 

System.out.println("request.getRemoteHost():"+request.getRemoteHost()); >> 本机ip(客户机)

获取发出请求的客户端IP地址。

【补充:】

原来是用的tomcat4.0-b1,用request.getRemoteHost()是可以返回客户端机器名称的?
但是现在升级成了tomcat5.0.28之后,getRemoteHost和getRemoteAddr返回的都是机器的IP地址了?
这个tomcat的bug吗?

-------------------------解决方法-------------------------------
server.xml里设置enableLookups="true",例如: 
 <Connector  port="8080" 
          maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
          enableLookups="true" redirectPort="8443" acceptCount="100" 
          connectionTimeout="20000" disableUploadTimeout="true" />

------------------------------------------------------------------

 

System.out.println("request.getLocalAddr():"+request.getLocalAddr()); >>服务器ip

 获取响应请求的服务器端地址。

 

System.out.println("request.getLocalPort():"+request.getLocalPort()); >>服务器端口号

获取响应请求的服务器端端口

 

System.out.println("request.getContextPath()"+request.getContextPath()); >>服务器工程根目录

 

 

jsp页面中获取毫秒需要引入包:

<%@ page import=" java.util.Calendar"%>

 

int ms = Calendar.getInstance().get(Calendar.MILLISECOND); // 0..999

 

 

获取毫秒时间(基本不会存在相同值,可以作为临时文件名)

import java.util.Date;

 

Date d = new Date(); 
long longtime = d.getTime(); 


System.out.println("logtime:"+longtime);

输出为:logtime:1225627132046

 

******************************************************************

【乱记-未整理】

********字符串类型转换为整数类型************
UserRight=Integer.parseInt(pdb.getString("UserRight",1));

********数组传参的获取**********************
String[] delType=request.getParameterValues("isDel");

********JAVA中的时间日期的操作*************
<%@ page import="java.util.Date"%>
java.util.Date().toLocalString() 方法在一些机子上可以通过,有些则报错,请高手帮忙
>>>>>>>>>>>>>>呵呵这个方法已经不提倡使用了,你最好换一换 DateFormat.format(Date date)
pstmt.setDate(6, java.sql.Date.valueOf(birthDay));  //库中字段的类型为 datetime
String curdate= new SystemTime().getDateTime();
//------------------------------------------------------------获取当前日期
    <%@ page import="java.util.Date"%>
    <%@ page import="java.text.SimpleDateFormat" %>  //需要的包

    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式化
    Date date=new Date();
    String curdate=format.format(date);  //获取当前年月日,如2007-06-14
//--------------------------------------------------------------------------
*********从session中取出用户的id************
<%= session.getAttribute("sesUserNameCn").toString() %>
String userNameCn = session.getAttribute("sesUserID").toString();
*********在jsp中最好动态定义脚本所需要的参数*************
<%
if(flag == true)
 {
  msg="邮件发送成功!";
 }
 else
 {
  msg="邮件发送失败!";
 }
%>
<SCRIPT LANGUAGE="JavaScript">
  alert("<%=msg%>");
  window.location.href="<%=url%>";
</SCRIPT>
*****************Request取参数的时候非空判断*************************
String shouquan=request.getParameter("shouquan")==null?"":request.getParameter("shouquan");
**********************************************************************
**********************try和catch的写法************************
try
{
    lNum = Integer.parseInt(linkNum);
}
catch (Exception e)
{
    e.printStackTrace();
}
***********************{数据类型转换}*****************************
java中数据类型转换

1、如何将字串 String 转换成整数 int?

A. 有两个方法:

1). int i = Integer.parseInt("String"); 或 i = Integer.parseInt([String],[int radix]);
 
2). int i = Integer.valueOf(my_str).intValue();
 
注: 字串转成 Double, Float, Long 的方法大同小异.
 

2 如何将整数 int 转换成字串 String ?
 
A. 有叁种方法:
 
1.) String s = String.valueOf(i);
 
2.) String s = Integer.toString(i);
 
3.) String s = "" + i;
 
注: Double, Float, Long 转成字串的方法大同小异.

>>>小窍门“将int类型装换成string类型”,制药这样处理就行了(intAttachID+"")也就是在int类型的数据后面加上空格

************//动态select选项设置*//*************************
 <select name="c_type" size="1" id="c_type">    
  <%
  strSql="select * from TCustomType";
  pdb.getQuery(strSql,1);
  while (pdb.next(1))
  { 
  %>
   <option value="<%= pdb.getString("customtypeid",1)%>" <%=pdb.getString("customtypeid",1).equals(cType)?"selected":""%>><%= pdb.getString("customtypename",1) %></option>
  <%
  }
  pdb.close();
  %>
</select>
*******************/*Eclipse中运行带参数的程序*/*************************
//中文版:
1、打开“运行”菜单,点击“运行(N)...”按钮,进入运行配置界面。
2、在左侧选择要运行的程序,然后点击右侧“(x)=自变量”标签,在下面的“程序自变量(A):”文本框中输入程序运行需要的参数,多个参数以空格分开即可。
3、点击下面的“运行(R)”按钮运行程序。

//英文版:
1、打开“Run”菜单,点击“Run...”按钮,进入运行配置界面。
2、在左侧选择要运行的程序,然后点击右侧“(x)=Arguments”标签,在下面的“Program arguments:”文本框中输入程序运行需要的参数,多个参数以空格分开即可。
3、点击下面的“Run”按钮运行程序。

//在菜单【运行】-运行,打开配置运行对话框,选择配置里面的Java应用程序,在右面的(x)=自变量里面,
//有个程序自变量,输入你的运行参数,多个参数以空格分开即可----如下
"D:\Tomcat 5.0\webapps\dayo" "E\dir.rar"

*******************输出的内容格式化*****************************
System.out.println('\n'+""+'\n'+"耗用时间(秒) : "+(end-start)/1000+" "+'\n'+  "-----压缩完毕!!!");

**********************java中的转义字符2007-8-12***************************************
//java中的转义字符,将C:\Documents and Settings\Administrator\My Documents中的 "\" 转换成可识别的 "\"
ddddd.replace("\\","\\\\") 
------------------------------------------------
\n 回车(\u000a)
\t 水平制表符(\u0009)
\b 空格(\u0008)
\r 换行(\u000d)
\f 换页(\u000c)
\' 单引号(\u0027)
\" 双引号(\u0022)
\\ 反斜杠(\u005c)
\ddd 三位八进制
\udddd 四位十六进制

上周发现还有其它需要转义的字符,例如

String sName = "Java转义字符(补遗)";
sName = sName.replaceFirst("(补遗)","");
out.println(sName);

如果你以为会输出“Java转义字符”,那你就错了,事实上输出“Java转义字符()”,我也很奇怪,以为是中英文括号的问题,可是并不是,我不确定是否转义问题,解决方法是

sName = sName.replaceFirst("\\(补遗\\)","");
-----------------------------------------------
Java 的转义字符
  今天查阅了一些资料,看到了一些代码,深刻的发现了自己的基础知识是多么的不牢固,所以决定把今天的事情记录下来给自己一个提醒。这段代码是这样的:

 private final static String str =
    "\1\4\1\5\1\6\1\7\1\10\1\4\1\11\1\12"+
    "\1\13\1\14\1\15\1\4\1\16\1\17\1\20\1\21"+
    "\2\4\1\17\4\4\1\22\12\4\1\22\1\23\1\24"+
    "\1\0\14\25\1\26\6\25\27\0\1\10\1\27\11\0"+
    "\1\21\16\0\1\30\24\0\1\17\4\0\1\17\4\0"+
    "\1\21\12\0\1\21\7\0\1\22\12\0\1\22\3\0";

开始的时候看了半天没明白这是什么意思,只知道是转义字符,但是经常见到的转义字符都是\t,\n,\r等,没见过"\"后面带一个或两个数字的,赶紧Google一下转义字符,这才查到"\ddd"是将 ASCII 字符匹配为八进制数(最多三位),这才恍然大悟,原来"\1"是"\001","\12"是"\012",都是八进制数。哎,都是基础知识不扎实的结果,因为不太常用而忽略了。

结果......
 
  


学习了!
-----------------------------------------------
**********************************************************
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例来实现。

字符串是常量;它们的值在创建之后不能改变。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享它们。例如:
     String str = "abc";
 等效于:
     char data[] = {'a', 'b', 'c'};
     String str = new String(data);
 下面给出了一些如何使用字符串的更多例子:
     System.out.println("abc");
     String cde = "cde";
     System.out.println("abc" + cde);
     String c = "abc".substring(2,3);
     String d = cde.substring(1, 2);

***************//正则表达式技术***************************
-----------------------------------------------
//我是在google中输入一下内容后,搜索到解决办法的:
//org.apache.jasper.JasperException: Unexpected internal error near index 1
-----------------------------------------------
使用下面方法
trace.replaceAll("\\","\\\\");
出现如下错误
org.apache.jasper.JasperException: Unexpected internal error near index 1
\
 ^
 -----------------------------------
(1) 用证则的话,用四个"\"代替一个"\"
两个给语言本身转义,两个给正则类转义 .
-------------------------------------
(2) 如果不用正则表达式
str.replaceAll("\\\\","\\\\\\\\");
--------------------------------------
(3) 例:
String str="aa\\aa暗暗\\啊";
Pattern p = Pattern.compile("\\\\"); //要将字符串中的”\\“替换
Matcher m = p.matcher(str);  //要替换哪个字符串
System.out.println(m.replaceAll("\\\\\\\\"));  //替换成”\\\\“
****************************************************************
-------------------------------------------------------------
//*********************[如何打JAR包]*************************
1、首先必须保证能够执行Jar命令,一般安装完jdk之后,该命令在Java\jdk1.5.0_01\bin下,将这个路径设置到系统环境变量path当中。(可以通过配置我的电脑属性中的环境变量来设置,也可以进入控制台用set path=%path%;newpath来设置)。
2、一般如果希望打包之后双击执行还要配置好classpath,将.(注意是一个点)和Java\jre1.5.0_01\lib。
3、还必须制作好一个清单文件,里面标明主类(也就是main函数所在类),该文件是文本文件,名字随便,比如叫list.txt;内容如下:

Main-Class: xxxx

注意几点:
1)Main-Class有大小写区别;
2)之后是一个冒号,后面是一个空格,一定注意,多了少了都不对;
3)之后是类的名字,没有.class扩展名;
4)如果是package的话,需要指明路径:xxx.xxx.xxx
5)之后是回车换行,而且之后只能是一个空行,什么都不要有。呵呵
4、一切准备就绪了,我们开始打包,执行命令:

jar cvfm test.jar list.txt *.class

好了,如果顺利已经生成了test.jar包了,双击可以执行了。
-------------------------------------------------------------------------
*********************//jar执行外部.exe文件//******************************
public class DeskCpl
{
 public static void main(String[] args)
 {
  Runtime rt = Runtime.getRuntime();  //这里要注意
  //System.out.println(rt.freeMemory());
  //System.out.println(rt.totalMemory());

  try
  {
   //rt.exec("calc");  //运行windows下的计算器程序
   //rt.exec("regedit");  //运行注册表编辑器
   //rt.exec("control color");  //windows的桌面调节属性
   rt.exec("D:\\Program Files\\QQ\\QQ.exe");  //执行QQ程序
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
 }
}
***********************************************************************
-----------------获取客户端的IP地址------------------------------------
String cip = request.getRemoteAddr();
--------------------WinXP-SP2/19.168.0.214-----------------------------------------
getLocalHost

public static InetAddress getLocalHost()
                                throws UnknownHostException返回本地主机。
如果有安全管理器,则使用本地主机名和 -1 作为参数来调用其 checkConnect 方法,以查看是否允许该操作。如果不允许该操作,则返回表示回送地址的 InetAddress。

返回:
本地主机的 IP 地址,如“WinXP-SP2/19.168.0.214”。
抛出:
UnknownHostException - 如果找不到 host 的任何 IP 地址。
另请参见:
SecurityManager.checkConnect(java.lang.String, int)
#####*********************打WAR包***************************************
在命令提示行下 进入文件所在目录然后输入
jar -cvf web.war *.*

中 web.war就是打包后生成的文件名称
*.* 就是目录下所有文件(包括WEB-INF目录下的文件)
你应该是想要在 EBA Weblogic中运行JSP吧
#####*************************************************************************
-----执行关联删除(即删除主表信息,同时删除与之相关的表中的信息)--------

   String sqls[ ]=new String[3]; //定义数组
   String sql="delete WorkPlan where PlanNO = '"+planNum+"'";
   String sqlAnx = "delete PlanAnnex where PlanID='"+planNum+"' "; 
   String sqlOpn = "delete ReadOpinion where PlanID='"+planNum+"' ";
   sqls[0] = sql;
   sqls[1] = sqlAnx;
   sqls[2] = sqlOpn;
   if(sqls.length>0)
   {
       for(int i=0;i<sqls.length;i++)
       {
           System.out.println("sql"+i+"="+sqls[i]);
        pdb.update(sqls[i]); //执行删除
       }
       msg="删除成功!";
   }
#####*************************StringBuffer的使用************************************
------StringBuffer的使用
StringBuffer powerStr = new StringBuffer();
     
powerStr.append(",");
-----------------------------------------------
psSqls = "select ReadManID,ReadManName from ReadOpinion where PlanId ="+planNum;
  pdb.getQuery(psSqls,1);
  while(pdb.next(1))
  {
   readIds.append(pReadManId=pdb.getString("ReadManID",1));
   readIds.append(",");
   readNames.append(pReadManName=pdb.getString("ReadManName",1));
   readNames.append(",");
  }
  String[] reads1 = readIds.toString().split(",");
  String[] reads2 = readNames.toString().split(",");
  for(int i=0;i<reads1.length;i++)
  {
      readIds2.append(reads1[i]);
   if(i<reads1.length-1)
   {
      readIds2.append(",");
   }
   readNames2.append(reads2 [i]);
   if(i<reads1.length-1)
   {
      readNames2.append(",");
   }
  }
  System.out.println(readIds2);
  System.out.println(readNames2);

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics