jsp初学,但需要用,偶尔查查
主要是另外增加一个HOST节点即可,便捷的查找方式:

找到以下节点
</Engine>

在前面加上:

<Host name="www.aslibra.com" debug="0" appBase="/home/jsp/www.aslibra.com" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="."/>      
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="aslibra_access_log."
  suffix=".txt" pattern="common" resolveHosts="false"/>
  <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="aslibra_log." suffix=".txt" timestamp="true"/>
</Host>


name 是域名,appBase是根目录
日志选项也可以定义。
Tags: ,
折腾了几天,也算完成这点事情了,不容易啊。。

今天还碰到了类型转换的问题,发生错误了想着问问人,问星哥是否有小范同学的QQ,星哥说:“这些问题还要问,上网查一下就行了,jsp,int之类的” 忽然发现,星哥跟我一样,都有点倔强,小伙C++搞的也还不够火热,可也倔强的很多问题都要弄个清楚,我也折腾的有脾气了,倔强,非得解决了不可,有时候还不给自己问人,非得把它折腾出来不可,这坏脾气。。。

以初学者的身份小结一下:

1 jar文件优先级和class文件位置(未解决)

jar放置位置有好几个地方,有空一定得弄明白,目前对优先级还不太明确,小范同学做过jsp,好像也没留意此问题。
但是有一点要注意,这个包引用的其它jar文件要放一个目录下,否则在别的地方找不来,java的机制蛮复杂。
class文件放在 WEB-INF/classes/下,有一个问题还不太明白,是自身目录下的WEB-INF还是网站根目录的?
似乎我的本地环境需要放置在网站根目录,服务器环境放在自身目录的?
至少,发现找不到类定义时,可以从以上问题开始解决,也算是得益。

2 设置jbuilder环境

打开一个jpx项目文件,发现一堆的错误提示,怎么办?
设置一下就好:

点击在新窗口中浏览此图片

设置library

点击在新窗口中浏览此图片

添加你的所有相关的jar文件即可

jbuilder似乎对UTF8文件不太支持,中文是乱码。另外,对于字符定位也很差劲,跟我的盗版有关?
我只有在editplus里面编辑,切换过来会自动更新了,这点很聪明,然后可以编译成class,更新到服务器上即可。

3 类型转换

做PHP和js都不会有严格的类型定义,这里可不一样了,一点类型的问题都会导致错误。

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

引用
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

注: 字串转成 Double, Float, Long 的方法大同小异


对于这个理解要注意,比如long类型是 Long.parseLong("23231")
如果很长的数字用Integer.parseInt转换就会出错的,看不出问题,我也迷惑了,得小范同学提示以long解决

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

引用
1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

注: Double, Float, Long 转成字串的方法大同小异
Tags:
学会看出错信息很重要,这个能知道错在哪里很重要。

一般会有两种出错的情况:

1 语法错误

首先不能有语法错误,否则会先报错的,即便缺失类定义,也先提示这个错误,比如:

<%
b = "";
String a = "";


错误信息:
引用
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /beijing/import.jsp

Generated servlet error:
    [javac] Compiling 1 source file

/Data/apps/tomcat/work/Standalone/localhost/_/beijing/import_jsp.java:46: cannot resolve symbol
symbol  : variable b
location: class org.apache.jsp.import_jsp
b = "";
^
1 error


2 缺失类定义

比如这样的代码:
首先,Microsoft.DVAP.PSO.PSOInterfaceWraper是正常的,但还有相关的类可能需要也会导致出错的。
Tags: , ,
JSP一直用的不多,但最近还是有擦边了,记录一下艰难的使用mysql的过程。

要使用Mysql那肯定用到相应的mysql的jar包了,只是我比较笨,不太懂从哪里获得什么样的jar文件才能使用,所以只能靠点网上的经验了:

JSP连接mysql数据库攻略

05年的文章了,看来四年前的知识我现在都赶不上,可以跟着操作一下。

安装Mysql就不用说了,跟使用没有关系,先下载Mysql的jar文件:

JDBC驱动 mysql-connector-java-3.1.14.tar.gz
http://dev.mysql.com/get/D...

文件下载后,解压后有一个 mysql-connector-java-3.1.14-bin.jar 文件,这个就是我们需要的啦。

1 jar文件放在哪里?

这个对于不熟悉jsp的人而言,有点茫然,jsp怎么找jar文件的,查找顺序是怎么样的?等我知道具体细节再做笔记。今天只是小尝试了一下:

WEB-INF/lib/
Tomcat_dir/common/lib/
Tomcat_dir/shared/lib/
Java_dir/j2sdk1.4.2_15/lib/


我在这几个目录依次都放置了,可还提示无法找到相应的类,可怜了,重启tomcat后就可以了。
不服气,然后就倒着依次删掉,依次重启tomcat,尝试出还是放 common/lib/ 下稳妥,但居然放在 WEB-INF/lib/ 下无用,java真复杂,可惜没有时间细研究这个问题了。

2 代码怎么写?

参考上面的页面即可,这里也贴一下稍微整理过的代码:

<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%

//Mysql
String driverName="com.mysql.jdbc.Driver";
String mysqlserver="www.aslibra.com";
String userName="aquan";
String userPasswd="aquan";
String dbName="aslibra";

Class.forName(driverName).newInstance();
String mysqlURL="jdbc:mysql://"+mysqlserver+"/"+dbName+"?user="+userName+"&password="+userPasswd;
Connection connection = DriverManager.getConnection(mysqlURL);
Statement statement = connection.createStatement();
String sql="SELECT * FROM usr";
ResultSet rs = statement.executeQuery(sql);
while(rs.next()) {
  out.print(rs.getString(1)+" ");
  out.print("|");
  out.print(rs.getString(2));
  out.print("<br>");
}
rs.close();
statement.close();
connection.close();

%>


真伤心,jsp里面使用这个还没有php里面使用方便,一直纳闷为什么insert会出错

sql="insert into usr set userID='1',nickName='aquan',website='http://www.aslibra.com/' ";
//out.print("<hr>"+sql);
statement.executeQuery(sql);


后来还是找到解法:

引用
The method executeQuery is designed for statements that
produce a single result set, such as SELECT statements.

The method executeUpdate is used to execute INSERT, UPDATE,
or DELETE statements and also SQL DDL (Data Definition Language)
statements like CREATE TABLE, DROP TABLE, and ALTER TABLE....


来自: http://www.javaworld.com.t...
原出处: http://java.sun.com/j2se/1...

代码小修改即可:

sql="insert into usr set userID='1',nickName='aquan',website='http://www.aslibra.com/' ";
//out.print("<hr>"+sql);
statement.executeUpdate(sql);


真搞不懂,就这么一个语句在php里面就统一成 mysql_query 就成了,多方便啊~~
Tags: ,
这两天被jsp折磨了,今天要赶时间,更加着急。
做完了其实也没有多少东西,就是把时间耗在了跟别人调试上了,然后还有自己的查错。
做个小结吧:

1 class文件部署

要使用class文件,需要看看定义的package,按路径放好class文件
要放在根目录的WEB-INF/classes下
如果b.class定义的是 package a,那就是 WEB-INF/classes/a/b.class
在程序里面无须引入package,直接可以使用 a.b

2 jar文件部署

jar文件可以放置在 WEB-INF/lib下
上面说的class文件其实可以打包成jar文件
jar cvf myjar.jar a
(把a目录打包 类似目录: tar cvfz a.tar.gz a)

需要声明导入类,比如:
<%@ page import="Microsoft.DVAP.PSO.*" %>
<%@ page contentType="text/html; charset=gb2312" %>


3 比较需要注意类型

在php里面可以不分类型,所以很多想法到jsp里面总容易报错
String a = "test"; // php可以用单引号,这里不行,单引号估计是字符类型的吧,和c一样?
if(a.equals("0")){
//do sth
}
不能是 if(a == 0) ,但可以比较null,if(a != null)

4 cookie的使用

Cookie uCookie = new Cookie("domain","www.aslibra.com");
uCookie.setMaxAge(60*60*24); //设置过期时间
response.addCookie(uCookie);


cookie值应该是字符类型, new Cookie("domain",1); 这样会出错的

5 时间戳

<%@ page import="java.text.*"%>  
<%@ page import="java.util.*"%>
<%@ page contentType="text/html; charset=gb2312" %>
<%
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String TimeStamp = formatter.format(currentTime);


时间戳让我抓狂,jsp没有类似php的手册,让人烦

6 终止程序

if(true)return;
或者 out.close(); 不过我没试过呢

7 base64_decode

<%@ page import="sun.misc.BASE64Decoder"%>
<%
//......
BASE64Decoder decoder = new BASE64Decoder();
byte[] b = decoder.decodeBuffer(filename);
filename = new String(b);
%>


8 其它

好像class文件的优先级要比jar的高,存在同意定义的方法,class的优先
如果更新class文件和jar文件,好像重启tomcat才立刻生效?不知道什么时候生效

小结完毕。。以上有几点是我解决的最费心的,看着痛心呀。。
Tags: ,
分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐