java 配置随笔2则

tomcat

可以建立新的web 服务目录。
假设要将D:\test 以及c:\redsun 作为服务目录,并让用户分别使用/test 和/moon
虚拟目录访问。首先用记事本打开主配置文件server.xml,找到出现
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="0"
reloadable="true">
23
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_examples_log." suffix=".txt"
timestamp="true"/>
… … …
… … …
</Context>
(在这里加入您的Web服务目录)
</Host>
的部分。然后在</Context>和 </Host>之间加入:
<Context path="/test" docBase="d:/test" debug="0" reloadable="true">
</Context>
<Context path="/moon" docBase="C:/redsun" debug="0" reloadable="true">
</Context>
主配置文件server.xml 修改后,必须重新启动Tomcat 引擎。这样,就可以将JSP 页
面存放到D:\test 或c:\redsun 中,用户可以通过虚拟目录test 或moon 访问JSP 页面,
比如,在浏览器地址栏中键入:http://localhost:8080/moon/Example1_2.jsp 。

jsp点滴

在处理编码的时候,不仅要看
<%@ page contentType="text/html;charset=gb2312" %>
<meta &*()*)_>
还要注意要看编写*.jsp的文件的编码,使用和charset一样的编码,(另存为,然后再看)
jsp 如果include jsp的文件一般使用unicode比较好

在jsp中<%!--这里是仅仅初始化时才运行的--%><%--这里是每一次都要运行的--%>

注:使用request 对象获取信息时要格外小心,在上面的例子中:
String textContent =request.getParameter("girl");
获取提交的字符串信息,并且在下面的代码中使用了这个字符串对象:
number=Doule.parseDoubel(textContent);
那么,JSP 引擎在运行这个JSP 页面生成的字节码文件时,会认为你使用了空对象,因为
在这个字节码被执行时(客户请求页面时),客户可能还没有提交数据,textContent 还
没有被创建。如果你使用了空对象,即还没有创建对象,就使用了该对象,Java 解释器
就会提示出现了NullPointerException 异常,当然如果你不使用空对象就不会出现异常。
因此,我们可以象上述例子那样,为了避免在运行时Java 认为我们使用了空对象,
使用如下代码:
String textContent=request.getParameter("girl");
if(textContent==null)
{textContent="";
}

在request和post中如何使传送的数据实现中文正常??(不是页面本身的中文字体)

当用request 对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字
符的信息必须进行特殊的处理方式。首先,将获取的字符串用ISO-8859-1 进行编码,并
将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象即可。

如下列所示:
String str=request.getParameter("girl");
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);

但是更简练的是如下
String name=request.getParameter("name");
name=new String(name.getBytes("ISO-8859-1"),"gbk");
通过上述过程,提交的任何信息(无论是汉字字符或西欧字符)都能正确的显示

另外在数据库操作(数据库中cmd中默认的中文输入法编码是ISO-8859-1)或者socket时都要使用


数据库中的数据外键的作用在没有添加外键约束的情况下几乎没有作用(看mysql参考手册P763)
mysql在默认的情况下是没有约束的,(在定义外键的情况下能够影响双方的更改)
实际是是如同
stu_gender char(2)
check(stu_gender='男' or stu_gender='女')
或者
stu_gender enum('男','女') not null;一样,不过是更加的动态,反映更好了

但是注意
外键的好处是以数据库服务器为执行必要检查而需的额外开销为代价的。服务器额外检查会影
响性能,对于某些应用程序,该特性不受欢迎,应尽量避免。(出于该原
因,在一些主要的商业应用程序中,在应用程序级别上实施了外键逻辑)。

当客户访问一个页面时,会提交一个HTTP 请求给服务器的JSP 引擎,这个请求包
括一个请求行、http头和信息体,如下列:

post/tree2.jsp/HTTP.1.1
host: localhost :8080
accept-encoding :gzip, deflate

其中首行叫请求行,规定了向访问的页面请求提交信息的方式,如,post、 get 等方
式,以及请求的页面的文件名字和使用的通信协议。
第 2、3 行分别是两个头(Header),称host、accept-encoding 是头名字,而localhost:8080
以及gzip,deflate 分别是它们的值。这里host 的值是tree2.jsp 的地址。上面的请求有2
个头:host 和accept-encoding,一个典型的请求通常包含很多的头,有些头是标准的,
有些和特定的浏览器有关。

ServletContext application=getServletContext();
Integer number=(Integer)application.getAttribute("Count");


使用 File(String filename) 创建文件时,该文件被认为是与当前应用程序在同一目录
中,由于JSP 引擎是在bin下启动执行的,所以该文件被认为在下列目录中:
D:\Tomcat\jakarta-tomcat-4.0\bin\ 。

很多时候要txt或其他编辑器要取消自动换行,这样可以看清readline是读的第几行


mysql将下列路径加入环境变量
C:/mm.mysql.jdbc-2.0pre5。
与一个 Mysal 数据库建立连接有如下2 步:
(1)加载驱动程序:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
(2)建立连接:
Connection conn=DriverManager.getConnection( ”jdbc:mysql://host:Port:数据库名”,”
用户名”,”密码”);

例如conn=DriverManager.getConnection("jdbc:mysql://localhost/addressbook","root","songla")
//这里是mysql 5。X的jar



在ie和firefox中<input type="file"/>中接受文件的页面要注意,
ie中filename是包含路径而firefox中不包含路径,
例如ie中
Content-Disposition: form-data; name="boy"; filename="C:\Users\s\Pictures\image1.jpg"
Content-Type: image/pjpeg

在firefox中
Content-Disposition: form-data; name="boy"; filename="image1.jpg"
Content-Type: image/jpeg

关于javaBeans:
千万不要默认包,不然出不来,(class not found),沿着调用beans的jsp文件向上寻找WEB-INF,
找到后再向下寻找classes和其包路径,最后找到文件,根本没必要也不能够import=‘*。*’
因为useBean中class包含了全部路径<jsp:useBean id="girl" class="s.Circle"/>,另外注意其
类是public,构造函数也应该是public

关于serlvet:
1、编译时加入servlet的class
2、在web-inf中注意两个节点
    <servlet>
        <servlet-name>HelloWorldExample</servlet-name>
        <servlet-class>HelloWorldExample</servlet-class>
    </servlet>
 <servlet-mapping>
        <servlet-name>HelloWorldExample</servlet-name>
        <url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
    </servlet-mapping>


关于taglib的标签,一般可以用做标签tag,基本的形式如下,
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

实际上Webservice也是一个servlet,但是与普通的 servlet不同的是class指向的是java标准包中的东西而不是普通的class文件,再由该文件指向具体的class
在myeclipse中WebServices文件夹不过是一个
工具,在真正发布的时候是不会用到的,但是在发布的时候为了让tomcat支持服务,
应该把需要的一些类也进行发布

posted on 2011-04-01 09:03  songqiuming  阅读(273)  评论(0编辑  收藏  举报

导航