Java的学习方向
把握Java绝对是一条漫漫长路,要选好方向。在全面了解的基础上有所专攻。
1.把握JAVA的OOD,OOP方法; OO程序设计基础,J2sdk基础、Java 面向对象基础、Java API使用、数据结构及算法基础、Java AWT图形界面程序开发;
2.J2SE平台Java程序设计,包括Swing图形程序设计, Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,流和文件,多线程程序设计;
3. Java Web应用编程,包括 Java Oracle 编程,即JDBC;Java Web编程,包括jsp、Servlet,JavaBean;Java应用编程,包括Weblogic、Websphere、Tomcat、JSP 1.3/2.0和Servlet 2.3/2.4编程及其在Web层的应用;
4.MVC设计模式和STRUTS架构MVC与Struts ;
5.J2EE程序、J2ME; J2EE体系结构和J2EE技术、EJB;Weblogic使用、 JBuilder开发调试;
6.Java和XML,包括Java Web Service,Java XML, 业界主流XML解析器程序设计;
7.Java结合UML系统建模型和设计(Rational Rose 200x)软件工程和业界开发规范;CVS版本控制、Java Code书写规范。
要与专业结合,J2SE的基础一定要扎实。
*********************************************************************************************
如何成为一个成功的Jsp程序员?
发布日期:2004-05-13 作者:转贴 阅读人次:5672
一个普通的错误是把JSP当作简化的 Java。它不是,(事实上, JSP 是简化的 servlets 。)程序员通常试着没有学习要求的支持技巧而 直接学习 JSP 。JSP 是一个衔接技术,并且成功地连接你需要理解的另外的技术。假如你已经知道 Java,Html 和 javascript,这意味着 JSP 将确实是简单的。
需要成为一个成功的 JSP 程序员可以参考这个时间表。请注重下列:
*忽略你已经熟悉的步骤。
*练习的时间只是代表学习好足够的基础时间,这样才能转移到下一步。
1、建立并且理解你的Web Server。
因为Apache 是免费的并且在大多数平台上工作,为练习目的推荐 Apache。
安装时间:2 天。
2、保证你理解 HTML / XHTML 。
你将需要了解html基础, 非凡是 HTML 布局中的table的使用。XHTML 不久将代替 HTML ,学习 XHTML 的基础是一个好主意。许多程序员通过 HTML IDE 学习 HTML ( 集成开发环境 ) 。因为大多数 HTML IDE产生混乱的HTMl语法,所以花时间学习手工写作html是很有必要的。因 为你将会使用 JSP 和 HTML 混合编程,精通HTML语法是重要的。所以,你必须能流利地写 HTML 。
练习时间:2 ~ 4 个星期。
3、开始学习 Java 。
开始学习 Java 1.4 理解 Java 基础是很重要的。不用担心学习Swing或 Java 的图形方面,因为在JSP 中你不会使用这些特征。集中精力 在 Java 工作的细节,学习 Java 的逻辑,也在 Java Bean上花时间。学习Applet是好的, 但是就象Swing, JSP 的大多数应用将不使用小程 序。
练习时间:3 ~ 6 个星期。
3、学习 JavaScript
学习怎么将 JavaScript在HTML中验证输入的Form元素。也学习 JavaScript怎么能在一 HTML 页以内修改Form的元素。最后要求你能从一
HTML 页内的事件中触发 JavaScript Function。
练习时间:一~ 2 个星期。
4、学习并且理解你的Web Server的更好的细节。
熟悉Web Server的特征,这是很重要的。
练习时间:2 天。
5、建立你的 JSP Server
我推荐以Tomcat开始。它可以很好地运行JSP程序。当你不能在生产使用Tomcat时,学习尽可能多的知识以便于更好的运行程序。另外, 许多 JSP 程序员使用Tomcat。因此当你碰到一个问题时,你将轻易发现帮助。
安装时间:一~ 2 天。
6、开始学习 JSP 。
基本的 JSP 学习通过的步骤 1到步骤6可以完成, 然后使用 JSP 对象和脚本写 JSP 程序来联系。学习 JSP 的另外一个方面可以学习怎么创建一个分布式的应用程序。
练习时间:4 ~ 6 个星期。
7、学习更多的 JSP server。
没有关于更多的 JSP Server当然也可以运行jsp程序。然而, 许多 JSP server都由自己非凡的特征,可以让你更好的理解你的JSP 工程。
学习更多的Jsp server如何处理jsp程序是有必要的。同样也可以优化你的 JSP 应用程序,并且使之运行得更快而不出任何问题。
练习时间:2 ~ 7 天。
8、 学习 JDBC 。
JSP 大多数应用将使用数据库,JDBC 被用于数据库连接。经常忽略的一个事实就是,每个 JDBC Driver 所支持的东西是相当不同的。了 解并熟悉在jsp工程上被使用的 JDBC driver的细节是很重要的。(有时这部分的学习被包含在前面 Java 或JSP的学习中了 。)
练习时间:1~ 2 个星期。
到现在,你已经成为了熟练的 JSP 程序员。仍然有很多需要学习,你可以考虑扩展你的知识比如 DHTML , XML ,java证书, JSP Tag Libraries 或 Servlets , 看你想要造什么类型的网站而决定了。
这些练习是JSP 的核心。你不必都学习上面所有的, 取决于你在工程中分配到什么任务和你已经有什么知识。但是这是我成功地练习程序员 的时间表。要害的单元是时间。平均的说, 5 个月时间确实能够练习一个人 ( 从开始到完成 ) 成为一个对jsp熟悉程序员。5 个月时间似乎很长,但要成为一个资深的WEB程序员所学的东西远远不止这一些。
也许你认为这样学习一种语言花费的时间太长了,因为学 ASP 会更快、时间会更短。 但是学习 ASP 不需要学习java的。
**************************************************************************************
jsp设计模式
jsp设计模式
一:介绍
记得初学jsp的时候,总喜欢把他和asp,PHP去比较,也习惯于使用asp的开发模式去写jsp,后来才发现这真是很傻的做法,其实jsp一出了来就已经用MVC模式了。下面我就简要说说jsp设计使用MVC来设计。
二:MVC介绍
MVC其实是模、视图、控制的缩写,也就是说在使用jsp时,有相应的文件去实现相应的操作。通常jsp只负责view也就是只负责显示页面。业务逻辑等有bean(ejb)去实现。下面讨论的是不使用ejb的情况下实现。假如使用ejb,ejb负责M.C通常会由servlet去实现。或者使用struts.
struts的介绍你可是去http://jakarta.apache.org/struts去看。以后的文章中我会介绍。
三:设计思路
当你构建一个Application时。你必须考虑界面的问题,而界面修改是非常平常的。假如你在jsp中实现所有的操作,一旦修改界面你麻烦大了。美工不懂jsp的,你必须自己去修改无数个文件,头不要太大,而此时一般时间都很紧,使用MVC则可以减少你的一些麻烦。
在设计时候jsp只负责显示页面,也就是说jsp调用Bean(Struts,servlet)传过来的数据然后显示而Bean(Struts,servlet)负责收集jsp需要的数据,用ArrayList(Arttibute)传给jsp。假如需要提交表单,一般也直接提交给Struts,servlet,处理后以后再返回处理信息。而其中相应的业务逻辑由Bean去实现。
四:Bean的设计
在我使用时候Bean通常有三类,分别manager,entry,database目录下面。
manager下面的bean做商业逻辑
entry下的bean就是封装数据,其实就是每个数据库表对应会有一个bean。jsp得到的也全部是类。
database下的bean就是操作数据库,执行如insert,update,delete,load(查询一条记录),
batchload(查询多条记录)。
他们之间的关系是entry负责封装数据,作为database的调用参数,返回结果。
manager调用database处理的结果。manager和jsp通信。jsp得到的结果从manager来, jsp需要做操作调用manager,即使是一个insert 在database存在这样的方法但在manager中你还是需要再封装一次。这样做的目的是使结构尽量简单。database只负责操作数据库。manager只做逻辑(取相应的数据)处理相应的逻辑,而entry则只把database取到的数据封装,或则把页面得到的参数封装,做为参数传给相应的Bean.
五:设计实例
下面我把留言板作为实例来讨论:
entry/Guestbook.java(留言板对象)
database/GuestbookMap.java(更新,删除,修改留言板)
manager/GuestbookManager.java(处理所有的事务)
数据表结构(postgresql)
create sequence seq_guestbook increment 1 ;
/**序列号生成器**/
create table guestbook(
id int8 default nextval(′seq_guestbook′), /**主键**/
title varchar(64),/**主题**/
body text,/**内容**/
sayid int8,/**发言人**/
toid int8,/**接受人**/
saytime datetime default now(),/**留言时间**/
newflg smallint default 1/**是否查看过**/
);
Guestbook.java
=======================
import java.util.*;
public class Guestbook(){
private int id;
private String title;
private body title;
private int sayid;
private int sayid;
private Date saytime;
private short newflg;
public Guestbook(){
}
public int getId(){
return this.id;
}
public void setId(int _id){
this.id=_id;
}
........
(全是get/set方法)
}
GuestbookMap.java
==============================
import Guestbook;
public class GuestbookMap(){
public GuestbookMap(){
}
public Guestbook load(int id){
//取到一条guestbook
}
//sqlstr 查询条件
//orderstr 排序条件
//rcdbegin 记录开始
//rcdend 记录结束
//
public ArrayList batchLoad(String sqlstr,String orderstr,int rcdbegin,int rcdend){
//ArrayList 里面封装了Guestbook
}
public void insert(Guestbook info){
}
public void update(Guestbook info){
}
public void delete(int id){
//取到一条guestbook
}
public int getRcdNums(String sqlstr){
//取记录条数
}
}
GuestbookManager.java
根据需要封装需要的方法,这部分才是你要写的
=============================
上面的方式entry,database的文件可以自动生成,这个工具我已经开发了,假如需要联系我。你需要写的就是GuestbookManager里面的方法,你也许会觉得工作量比你所有的操作都在jsp中大,但是这样结构非常清楚。你还需要的就是写一个数据库连接池,你所有的数据库操作都从一个地方取,每一次都去连接数据库开销很大的。
六:技术优势
1:结构清楚
2:维护方便
3:保护代码比较好。
..........
七:结束语
我只是简单的介绍一下,具体的使用你需要在实际运用中积累,假如需要我的代码参看,联系我,假如你觉得写的和狗屎,非常不好意思,浪费了你宝贵的时间。