仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 486|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA网页设计初学jsp心得(一)

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:27:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。js|初学|心得空话未几说!

测试情况为jdk1.2.2jswdk-1.0winnt4.0中文版。

1。java是巨细写敏感的,用过其他编程言语的人最简单犯这个毛病,特别是刚上手的时分。我刚入手下手调试jsp的时50%以上的编译毛病是都是由于这个。

2。java的挪用历程都是要加括号的,一入手下手对照简单无视,如title=request.getParameter("title").trim();

3。jsp中对应asp中的request.form()和request.querystring()的办理办法。
jsp中获得参数没有form和queryString之分,都是经由过程request.getParameter("XXXX")来获得。固然jsp也有request.getQueryString()办法,但测试了局是test.jsp?id=1&page=20失掉id=1&page=20。
假如url和form有不异的参数称号呢?上面是一段测试代码:
<formmethod="POST"action="query.jsp?id=2">
<inputtype="text"name="id"value="1"size="60">
</form>
name都是id,了局是url的参数优先失掉,jsp的这类处置体例和asp比拟我觉的各有所长。

4。头疼的汉字处置成绩。
在其他的文章里曾说到在中文NT情况下以下语句输入会失掉乱码,
<%="你好"%>及out.print("你好");等。办理办法是只需对字符串变量举行编码就能够失掉准确了局,以下代码能够失掉准确的输入:
<%Stringtitle="你好";
byte[]tmpbyte=title.getBytes("ISO8859_1");
title=newString(tmpbyte);
out.print(title);%>
大概<%=title%>

关于sql语句汉字成绩,例句为select*fromtestwheretitle=谁是傻瓜
在jdbc-odbc驱动下连db2,不论是原句仍是对sql语句举行编码后都逝世活通不外。
换了ibm的jdbc间接驱动后,对sql语句编码后程序能够经由过程。

这个成绩的发生也许是中文NT的缘故原由,在其他情况下大概就没汉字处置成绩了,听说ibm的websphere对中文撑持的很好,这也给jsp的开辟带来必定的通用性成绩。听说对字符串编码是一种通用的办理办法,不外没有这么多情况来测试。

5。在asp中常常利用到字符串判别语句如ifstate="真是傻瓜"then.....
在java中String变量不是一个复杂的变量而是一个类实例,分歧的办法会失掉分歧的了局
a.
Stringstr1="我是傻瓜";
Stringstr2="我是傻瓜";(orStringstr2="我是"+"傻瓜";)
if(str1==str2)
out.print("yes");
else
out.print("no");
了局是"yes"。
也许是编译优化,str1,str2指向统一个类实例;

b.
Stringstr1,str2,str3;
str1="我是傻瓜";
str2="我是";
str3=str2+"傻瓜";
if(str1==str3)
out.print("yes");
else
out.print("no");
了局是"no"。

Stringstr1=newString("我是傻瓜");
Stringstr2=newString("我是傻瓜");
if(str1==str2)
out.print("yes");
else
out.print("no");
了局是"no"。

Stringstr1=newString("我是傻瓜");
Stringstr2=newString("我是傻瓜");
if(str1.compareTo(str2)==0)
out.print("yes");
else
out.print("no");
了局是"yes"。

以是在jsp中判别字符串要利用compareTo办法,用惯传统言语还真一会儿顺应不外来,熟习java的伴侣应当没这个成绩。

6。怎样判别数据库为空?
result=stmt.executeQuery(sql);
if(result.next())
......
result实行后游标出于一个未明的形态,不克不及举行形态判别,也不克不及取值,必定要next()一下才能够用。


7。在jsp中完成分页。
page是关头字,不克不及当变量。
conn.jsp
<%
StringsDBDriver="COM.ibm.db2.jdbc.app.DB2Driver";
StringsConnStr="jdbc:db2:faq";
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundExceptione){
out.print("faq():"+e.getMessage());
}

try{
conn=DriverManager.getConnection(sConnStr,"wsdemo","wsdemo1");
stmt=conn.createStatement();
}catch(SQLExceptione){
out.print(e.toString());
}
%>

query.jsp

<%@pagelanguage="java"import="java.sql.*"%>
<%@pagecontentType="text/html;charset=gb2312"%>
<%@includefile="conn.jsp"%>
<%
.......
intpages=0;
intpagesize=10;
ResultSetresult=null;
ResultSetrcount=null;

pages=newInteger(request.getParameter("pages")).intValue();

if(pages>0)
{

Stringsql="state=我不傻";
intcount=0;
try{
rcount=stmt.executeQuery("SELECTcount(id)asidfromuserwhere"+sql);
catch(SQLExceptionex){
out.print("aq.executeQuery:"+ex.getMessage());
}
if(rcount.next())
count=rcount.getInt("id");
rcount.close();

if(count>0)
{
sql="select*fromuserwhere"+sql;
try{
result=stmt.executeQuery(sql);
}
catch(SQLExceptionex){
out.print("aq.executeQuery:"+ex.getMessage());
}

inti;
Stringname;
//result.first();
//result.absolute((pages-1)*pagesize);
//此办法jdbc2.0撑持。编译经由过程,但实行不外,不知是否是跟驱动有关,只好用上面的笨举措。
for(i=1;i<=(pages-1)*pagesize;i++)
result.next();
for(i=1;i<=pagesize;i++){
if(result.next()){
name=result.getString("name");
out.print(name);
}
result.close();
intn=(int)(count/pagesize);
if(n*pagesize<count)n++;
if(n>1)
{
for(i=1;i<=n;i++)
out.print("<ahref=query.jsp?pages="+i+">"+i+"</a>");
}
}
}
%>
www.guanshui.com版权一切Urus2000-5-22

IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,netbeans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。
飘灵儿 该用户已被删除
沙发
发表于 2015-1-21 07:09:52 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-30 10:36:53 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
活着的死人 该用户已被删除
地板
发表于 2015-2-5 08:24:47 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
再现理想 该用户已被删除
5#
 楼主| 发表于 2015-2-11 08:04:30 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
爱飞 该用户已被删除
6#
发表于 2015-2-20 05:32:19 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
透明 该用户已被删除
7#
发表于 2015-2-26 01:46:11 | 只看该作者
是一种使用者不需花费很多时间学习的语言
若天明 该用户已被删除
8#
发表于 2015-2-27 10:20:54 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-9 00:39:03 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
金色的骷髅 该用户已被删除
10#
发表于 2015-3-16 19:07:55 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
柔情似水 该用户已被删除
11#
发表于 2015-3-22 23:43:39 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 17:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表