Sugo

Goof off ? no way: never
posts - 20, comments - 8, trackbacks - 73, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

        今天无意中发现了一个叫做Apusic的应用服务器,仔细一看,是中国自己开发的应用服务器,想到是中国自己开发的东西,一定要支持一下。不过在搜索Apusic的时候,发现了不少负面的消息。先不管那么多了,通过一个链接下载了最新的5.0的版本,不过是个免安装的试用版。配置很简单,只需在bin目录的setenv.cmd中编辑APUSIC_HOME(解压后所在目录)和 JAVA_HOME(jdk所在目录),不过还需要把jdk目录下lib文件夹的tools.jar复制到APUSIC_HOME的lib目录下面,网上没有这么介绍,但如果不这样做的话,运行不成功。至少我是这样。
         地址栏输入http://localhost:6888/就可以访问了。
         想要发布自己的web应用,我是先把web应用打包为war文件,然后放入到applications目录下面。然后在config目录的server.xml中添加了部署这个web应用的一段话--<application name="test.war" base="解压目录\applications\test.war" start="auto"/>。地址栏输入http://localhost:6888/test 就能成功访问了。
        运行了一下,速度还可以。性能方面还需要长期的测试和观察。

posted @ 2006-09-12 21:34 sugo 阅读(533) | 评论 (0)编辑 收藏

        忙了一天装的Redhat Linux8.0,装好了之后发现鼠标一直到处乱窜,重启不行,关机重开电脑也不行。一气之下卸载了它重装。但卸载的问题随之而来了。。。。
        删除分区比较容易,在windows用pqmagic就可以删除。删除之后呢〉?。。。。。
        重启电脑后,原来安装时候安装的grub开始搞鬼了,系统启动就要加载这个引导程序,直接不会出现让你选择进入windows的界面。只有一个grub提示符,光标在一直闪,好像是在嘲笑我。。。。。。:(
        不要着急,在提示符下输入 rootnoverify (hd0,0) 命令成功之行后,然后输入 chainloader +1 最后是boot,(注意前两个命令之后要有空格)。系统将执行我们刚才输入命令的参数(hd0,0)对应的所在磁盘分区的启动程序,这时候就能看到熟悉的windows启动界面了。之后要进入dos界面下(可以使用光盘引导,或者装一个虚拟软驱),在命令提示符下输入 fdisk /mbr。  好了,到此,卸载问题解决了。。。。
        第二遍总算没有鼠标的问题了,但又来了adsl拨号的问题了。网上的文章讲的内容都差不多,但都不行。adsl-setup配置好之后,输入adsl-start的时候老是返回错误。不知道哪里错了。不行,还是得接着研究。。。。
        搞了一晚上也最终没能拨号成功。放放吧。其实我用linux主要目的在两个,学习linux系统的操作和配置,最重要的就是架设web服务器。
        第二天,我想既然我上不了网,我用能上网的电脑把jdk、tomcat、mysql下载到u盘,然后再拷到linux系统这个办法总可以吧,结果也证实我这个想法是明智的。首先查资料看看linux系统下如何挂载u盘。首先,打开终端后,输入命令fdisk -l  /dev/sda ,这个命令最主要目的是看看u盘是不是真正被识别了还有就是u盘对应的设备名,一般就是sda1了。 敲入命令 mount -t vfat /dev/sda1 /mnt/usbhd。如果命令正确执行,那么不会有什么错误提示。你去/mnt的usbhd里查看,里面的内容就是u盘里面的东西了。
       jdk安装比较简单,下载linux下的jdk安装包,是个.bin文件。执行这个文件,将生成一个rpm安装包。然后使用 rpm命令就可以安装了,并且jdk自动安装到了/usr/java文件夹下了。
       tomcat是个tar.gz文件,使用tar命令就解压了。就解压在了此文件所在的路径。
       关于mysql的安装是最让我头疼的,一直到了晚上才安装好。参考的这篇文章http://blog.azsq.net/archives/2006/03/31/36.html,成功安装,在此也谢谢这篇文章的作者了。安装包我下载的4.0.27版的。
       配置开发环境我使用了大多数人的做法,修改了/etc/profile文件,加入了和在windows下一样的环境变量。
       这个周末完全献身了linux,我觉得挺值得。linux下运行jsp程序感觉很快,心情也变得异常的好。。。。。

posted @ 2006-09-09 20:51 sugo 阅读(192) | 评论 (0)编辑 收藏

1、启动eclipse弹出错误对话框,让你查看日志文件。
      此错误一般发生在安装了oracle9i之后,安装后,oracle自带的jdk将其jdk所在目录的bin路径写入了path环境变量。此jdk版本为1.3,如果你安装的jdk版本为1.4以上的话,就会发生这个错误。解决方法很简单,把这个环境变量去掉就可以了。
2、在web.xml文件中配置<error-page>
      当输入不存在的url时,tomcat通常会出现404错误的页面,对于开发者来说,这件事情无所谓。而对于用户来说,可能看到这样不太友好的界面,可能会不很舒服。所以配置<error-page>还是必要的,一般加入这段文字就可以了:
      <error-page>
             <error-code>404</error-code>
             <location>/error.html</location>
     </error-page>
     <error-page>
             <exception-type>javax.servlet.ServletException</exception-type>
             <location>/error.html</location>
  </error-page>
        必须要注意的一点是,指定的出错后转向的文件,其大小至少为512bytes,否则不会跳转到你指定的文件。(可以让用户设置客户端ie的internet选项,但我想哪个用户也不想自己手工设置吧)。
         还想说的是,此配置最好是webMIS或者网站开发完毕后之后再配置。因为我在开发过程中,调试出现错误也转向了错误页面。不利于发现程序中出现的错误。
        有的人想通过欺骗手段,response.setStatus(200)来达到此目的。我个人觉得没什么意思了。。。。

posted @ 2006-09-07 20:57 sugo 阅读(180) | 评论 (0)编辑 收藏

1、当在一个文本框输入内容时,下一个文本框自动填写上一个文本框输入的内容。简单代码如下:
      <form name="fm" >
       <input name="first" onpropertychange="fm.second.value=fm.first.value">
       <input name="second">
      </form>
2、enter键代替tab键。在控件的onkeydown事件中使用简单的一行代码即可:
      if (window.event.keyCode==13) window.event.keyCode=9
3、强迫用户读取注册协议的计时按钮。主要是使用window.setTimeout()这个方法:
        var secs = 180;
        document.agree.agreeb.disabled=true;
        for(i=1;i<=secs;i++)
       {
              window.setTimeout("update(" + i + ")",i*1000);//这里的计时严格来说不是很准确
         }
         function update(num) {
           if(num == secs) {
              document.agree.agreeb.value ="同意";
              document.agree.agreeb.disabled=false;
         }
        else {
            printnr = secs-num;
           document.agree.agreeb.value = "请认真阅读协议(" + printnr +" 后才能继续注册)";
     }
4、文本框和file控件一起提交
      如果还是像原来的表单提交一样,此操作是不可行的。什么原因不太清楚,错误提示好像是语法方面的错误。解决方法就得靠javascript了。另外就是提交按钮换成一般的button,通过button调用一个函数,最后通过表单名.submit()方法来提交。代码简单如下:
      <form  method="post" name="fm">
         <input name="picname">
         <input type="file" name="pic">
         <input type="button" onclick="go()">
     </form>
     function go(){
     var  picturename=fm.picname.value;
     var  filename=fm.pic.value;
     fm.action="test.jsp?pname="+picturename+"&fname="+filename;
     fm.submit();
    }
 5、两个html页面传递参数
       使用js来接受 通过一个location.search就可以获得后面的参数值
     (to be continued)

posted @ 2006-09-05 21:42 sugo 阅读(146) | 评论 (0)编辑 收藏

       关于word文档操作, 网上不少这样的例子,好像都是一篇文章。word文档嵌入到网页中好像比较简单一些。加个报文头基本上就可以实现此功能。而导出数据到word文档中,我可费了不少的脑细胞。闲话少说,步入正题。。。:)
      网页中嵌入word文档,在jsp程序开头部分加入<%@ page contentType="application/msword;charset=GBK"%>这些代码,即可实现。比较简单,相信很多人都知道这一点了。
      费脑筋的是将一张报表或者一张登记表导入到word文档中。报表(登记表)都是动态生成的。那么首先的问题是如何获得一个动态网页中的内容。我以前使用的BufferedReader,PrintWriter,BufferedInputStream,BufferedOutputSteam都不起作用了,原因就是他们不能读取动态生成的网页内容。因此,我想到了URL这个类,获得内容的代码如下:
       java.net.URL l_url = new java.net.URL("http://localhost:9000/rlzy/employee/employee_resume.jsp?id="+emp_id);

       java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();

       l_connection.connect();

       l_urlStream = l_connection.getInputStream();

       java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));

       while ((sCurrentLine = l_reader.readLine()) != null)

        {

          content+=sCurrentLine;

         } 
       content即为我们想要得到的动态内容。
       导出数据的话,使用BufferedInputStream 和 BufferedOutputStream 。但前提是把得到的动态内容先输出到一个临时的html网页中,即把它先变成一个静态文件。这样BufferedInputStream 和BufferedOutputStream 就可以获得要读取和输出的内容。读取完毕,再把这个临时的html网页删除。这是网上流传的代码:
       BufferedInputStream bis = null;
       BufferedOutputStream bos = null;
       try {
              bis = new BufferedInputStream(new FileInputStream(内容资源的路径));
              bos = new BufferedOutputStream(response.getOutputStream());

              byte[] buff = new byte[2048];
              int bytesRead;

              while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
              bos.write(buff,0,bytesRead);
            }

          } catch(final IOException e) {
        System.out.println ( "出现IOException." + e );
          } finally {
          if (bis != null)
            bis.close();
          if (bos != null)
            bos.close();
       }
       此外,导出内容到word文档后,还可能会出现格式不正确的问题。我就遇到了html表格导出到word就发生变化的情况。这种情况具体原因应该是两种不同文件编码的问题。我是通过修改源html文件解决的问题。至于以后如果还碰到类似问题的话,首先看一下word文档和html文档是从哪个地方格式开始变化了,找到之后再对症下药。如果你觉得这种解决方法没什么技术含量的话,你可以根据内容手动输出。。。哈
                                                    。。。。。。。。。。。学到了一些东西。。。。。。。。。。。。

posted @ 2006-08-31 23:11 sugo 阅读(3953) | 评论 (0)编辑 收藏

        终于把自己的朝思梦想的Linux装上了,兴奋,亢奋。。。 从决定,下载,分区,找资料,安装前前后后总共4天的时间呢。不过我觉得挺值得的,因为我学到了很多以前很模糊的东西。可谓收获颇丰啊
        我是下载的安装光盘镜像iso文件。在清华大学ftp服务器上下载得到。同时还学到了关于md5方面的知识。一共三个iso文件,一天下载一个,下载的同时找一些安装资料和相关资料。同时分区也是一块难啃的骨头,好在啃下来了。它要求至少需要2个分区。一个ext2或者ext3分区,还有一个内存大小的swap分区。现在的电脑内存都很大了,swap分区可以不要,但我认为最好还是分出这个区为好。只是这个文件格式怎么得到这个问题我可是找遍了所有关于分区的帖子。qq群,所谓的Linux高手,什么都问了,但结果什么也没学到。最后还是自己琢磨。其实很简单pqmagic8.0就能实现。格式化的时候就有格式成什么样的文件格式这个选项。这些我都是在windows下实现的。这些准备工作完成了,然后安装就可以了。安装步骤网上很多。我也不用写了。第一次安装建议大家完全安装,有4.6G左右大吧。
        安装重点:分区,文件格式的转换
        安装好了,进入Linux界面,感觉那么纯净。可爱的小鼠标箭头,友好的界面。更坚定了我要学好它的决心。在Linux下架设服务器的任务,快要实现了。Linux, I'm on my way!:)

posted @ 2006-01-16 00:18 sugo 阅读(253) | 评论 (0)编辑 收藏

     Tomcat运行Servlet,首先是classpath,我们需要把tomcat安装目录下面的common/lib/servlet-api.jar文件加入到其中。我假设发布路径就是默认的路径,即webapps目录,我在其下建立了一个应用程序总目录,取名为first。不过我们还要在conf文件夹下面的server.xml文件里配置一下,目的就是浏览器能定位此应用程序所在位置。我们需要在此文件中加入一行语句。在我假设的例子中,就要这样配置 。在<host ></host>之间加入<Context url="/first" docBase="first" deBug="0" reloadable="true"  />。
    在first文件夹下面建立了一个WEB-INF文件夹(注意,这个文件夹一定要大写)。然后再在WEB-INF下面建立classes文件夹(用来放置servlet编译后的class文件)。下面就要编写servlet程序了。编译通过后,把class文件放到classes文件夹下面。如果是打包的servlet文件。例如 package sg;那么你还需要建立一个sg文件夹,然后在放置你的class文件。如果是多层的包也是如此。接下来需要配置web.xml文件了。即映射你的servlet文件。我们自己建立了一个xml文件。内容如下:
   <?xml version="1.0" encoding="ISO-8859-1"?>
   <!DOCTYPE web-app
         PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
           "http://java.sun.com/dtd/web-app_2_3.dtd">
  <web-app>
   <servlet>
     <servlet-name>servlet name</servlet-name>
      <servlet-class>sg.class name</servlet-class>
  </servlet>
   <servlet-mapping>
    <servlet-name>servlet name</servlet-name>
     <url-pattern>/url</url-pattern>
   </servlet-mapping>
 </web-app>
  注:servlet name 为自己随意起的名字   sg.class name 为servlet的名字   /url为你想定义的url 可以任意
  好了,全部准备好了。开启服务器,浏览器里输入地址http://localhost:8080/first/url
至此,大功告成。可以去喝杯咖啡了哈。

posted @ 2005-10-15 15:55 sugo 阅读(595) | 评论 (0)编辑 收藏

1)JDK
2)Java syntax
3)Java speciality   (interface , extends , constructor...............)
4)Java Library [ java.long.*    java.io.*  java.util.*  java.sql.*] (java.text.*  java.net.* javax.naming.*)
5)Java Web 
   http protacal
   Servlet & JSP
   the point(design patten)
6)J2EE
   JNDI  JTA
   Before EJB   Serialization RMI   ----> JMS  EJB
   UML                         DESIGN PATTEN
  

posted @ 2005-10-14 14:36 sugo 阅读(138) | 评论 (0)编辑 收藏

     resin运行servlet,我感觉比运行jsp稍微复杂一些,但事在人为,通过resin官方网站还有resin服务器目录下面自带的一些例子,我终于运行成功了,很有成功感。希望这篇文章对于使用resin运行servlet的朋友们有一些帮助吧。
     首先我们要编写一个简单的servlet,我编写了一个最简单的例子,代码如下:
     package sugo;
     import  javax.servlet.*;
     import javax.servlet.http.*;
     import java.io.*;
     public class HiSugo extends HttpServlet{
      public void doPost(HttpServletRequest rq, HttpServletResponse rp) throws ServletException,IOException{
       PrintWriter out=rp.getWriter();
       out.println("Hello!I'm Sugo! Welcome to Servlet world !:)");
       out.close();
      }
     public void doGet(HttpServletRequest rq, HttpServletResponse rp) throws ServletException,IOException{
        doPost(rq,rp);
   }
}
 编译HiSugo.java文件,然后放入你要发布的目录。为了简便起见,我就在wep-app 下面新建的一个自定义的文件夹sunbreak。这个文件夹就是我们的发布目录。在此文件夹下建立web-inf文件夹,然后再建一个classes文件夹。把编译好的class文件和java源文件同时放入。注意我们把程序打包了,所以class和java文件要放在sugo(还需自己建立)下面。不过还需要一步,那就是还需建立一个web.xml或者resin-web.xml文件。就是为了映射我们的servlet程序,对于此例子我们在web-inf目录下面建立web.xml文件,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet servlet-name="sugo"
            servlet-class="sugo.HiSugo">
    </servlet>
<servlet-mapping url-pattern="/sugo"
            servlet-name="sugo"/>
</web-app>
至此,在浏览器里输入http://localhost:8080/sunbreak/sugo  就能运行你的servlet程序了。。。。。希望这篇文章对大家有所帮助:)

posted @ 2005-09-28 21:52 sugo 阅读(1498) | 评论 (2)编辑 收藏

         把自己的每天的感受和收获写下来,也许算是对自己忙碌的一天的小小的整理。长大了,就变懒了,不愿用笔再去写每天的日记,也许是自己确实没有时间和精力去料理它。写下的内容也算是对自己一天知识学习的小的总结和复习。
        我自己也不知道怎么样就喜欢上了jsp,如果有理由的话,那就是因为java。起初由对asp的狂热,变成现在对jsp的着迷。这个转变我一直不知如何而来的。但是既然已经在jsp上花费了很多时间,就要真正认真起来。有句话说得好“既然有开始就要有结束”。在还没结束之前,抓住它吧!
        我记得老师说过一句话“计算机的学习必须要去实践,不断地写程序,代码,把书上的知识变成脑子里自己的东西。不然书看几遍都没有用。”这话我真得体会很深。但是这句话听起来容易,做起来却不那么简单 。因为当你决定凭自己脑子里的东西写代码时,面对计算机却不知道该写些什么,所以你决定还得去看书。每天也许珍贵的学习时间就是在这个循环里消磨掉了。我现在就好像是在这个怪圈里。我现在一直在考虑这个问题,最主要我觉得还是知识的缺乏造成的。当然这个知识既有书上的,也有实践当中的。所学的东西还没成为一个体系。也许这正是自己真正所欠缺的。也许就是习武人经常所说的------功力不够深厚。
        这个开山篇,算是给自己稍稍指名方向。希望我的朋友们,如果也有这样的苦恼的话,我们能够通过交流,共同进步

posted @ 2005-04-14 16:14 sugo 阅读(316) | 评论 (0)编辑 收藏

仅列出标题
共2页: 上一页 1 2