|
|
|
o*******m 发帖数: 154 | 4 申请CS Master当然是must,但是自己的学习也不能放松,老马讲的挺好的。
原创 - 尚学堂科技 - 马士兵老师]
JAVA自学之路 一:学会选择
[转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html]
为了就业,不少同学参加各种各样的培训。
决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏
、3G、测试等。
那么究竟应该选择什么方向呢?
我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向
社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的
眼睛去观察,去了解这个世界吧。
每个培训机构都会宣传自己的好处,并不能说明大的趋势。
一些新闻文章很有可能是枪手写的,不必太过相信。
国外背景的教师和课程,未必适合你。
那么怎么才能确定自己将来的方向?如何才能从纷繁复杂、或真或假的数据世界中挖出
一条路?
我讲一个通过招聘网站的观察方法。
可以到各种招聘的网站上查询信息(可以到google上查询招聘的网站),例如:
http://www.51job.c... 阅读全帖 |
|
|
c****u 发帖数: 3277 | 6 I am writing an application, the client side I am using java web start(
basically an application),
the server side I wrote an application for now. They communicate via
socket. Now I am wondering if it's a good idea to change the server side
to a servlet, still using socket.It might be more flexible for servlet
to talk to database? I am a novice to servlet now and still learning it.
The book says servlet can be of general purpose, but it's good at
handling HTTP related stuff. |
|
d********r 发帖数: 199 | 7 有没有办法在browser第一次访问的时候知道是不是支持cookie?
现在碰到一个问题无法解决:
有没有办法在browser第一次访问我的servlet的时候就知道该Browser是不是支持cookie?
由于我的servlet在输出页面的时候需要跟踪用户的session,
所以所有输出的URL都是用:
HttpServletResponse.encodeURL()
encode过的。
如果Browser不支持cookie的话,
那么该用户以后得到的所有setvlet LINK都将象这个样子:
http://host/servlet/myservlet;jsessionid=956BDE2350B3D6804965F328A3FBB63E
而如果Browser支持cookie的话,上述";jsessionid=956BDE2350B3D6804965F328A3FBB63E
"就不会出现在
每一个LINK中。
问题是在用户新打开一个browser窗口,第一次点击入口servlet页面时,
这时候会产生一个新的session
server端发现这个session ID不是来自于cook |
|
L*********r 发帖数: 92 | 8 实现取决你的web server/application server.
如果你的sevrer 是支持Java 的. 那很简单.
你可以用Stream. 具体逻辑如下.
1. Open request stream to servlet according URL in the Applet code
2. Pass parameters (serializable) into stream
3. Rrtrieve parameters from stream in servlet.
4. Execute the program in the servlet based on parameters.
5. Return value to response stream in the servlet if you want. |
|
c***k 发帖数: 1589 | 9 不同的client之间如何共享数据?
比如我现在有一个List,有一个stateful sessionbean可以访问这个list
在servlet中,会初始化一个static sessionbean instance
servlet will call method in this sessionbean to get the list
So every web client will ask servlet for this list
(this list is not persisted)
My problem is, it seems like I will get concurrentaccess exception
because if several clients happen to ask for the servlet for the same time.
What's the correct/simple way to implement such scenario? |
|
z*******3 发帖数: 13709 | 10 ejb外面还有其他规范啊,jboss等容器又不是只搞ejb
jboss是一个servlet, jsp, ejb, jpa 等一堆东西的集合体
我不是说用ejb解决所有问题,但是jboss和weblogic还有websphere
这三个,得其中一个足够了,就足够搞定所有spring, hibernate, tomcat, spring
mvc还有jersey的功能了
我只要有jboss
三层很容易出来
web用最古老的,servlet+jsp,唯一的麻烦就是要自己去写mvc,但是我觉得不用统一
的dispatch servlet也没什么
难道不允许我用几个servlet来dispatch么?
jsp用jslt,这也是政府军
然后service tier用ejb
orm还是用ejb
web service还是用ejb
然后所有tomcat能做的, jboss都能做,因为jboss用了tomcat做web容器
summary如下
你用spring, hibernate, tomcat, jersey做的
我用一个jboss全部都可以做,而且省掉很多配置,搞定一个jboss远比搞定几个框架要
... 阅读全帖 |
|
z*******3 发帖数: 13709 | 11 ejb外面还有其他规范啊,jboss等容器又不是只搞ejb
jboss是一个servlet, jsp, ejb, jpa 等一堆东西的集合体
我不是说用ejb解决所有问题,但是jboss和weblogic还有websphere
这三个,得其中一个足够了,就足够搞定所有spring, hibernate, tomcat, spring
mvc还有jersey的功能了
我只要有jboss
三层很容易出来
web用最古老的,servlet+jsp,唯一的麻烦就是要自己去写mvc,但是我觉得不用统一
的dispatch servlet也没什么
难道不允许我用几个servlet来dispatch么?
jsp用jslt,这也是政府军
然后service tier用ejb
orm还是用ejb
web service还是用ejb
然后所有tomcat能做的, jboss都能做,因为jboss用了tomcat做web容器
summary如下
你用spring, hibernate, tomcat, jersey做的
我用一个jboss全部都可以做,而且省掉很多配置,搞定一个jboss远比搞定几个框架要
... 阅读全帖 |
|
z*******3 发帖数: 13709 | 12 之前说过我对abstract class的看法,倒是引来不少非议
尤其是有些人居然举出了例子,好,我们就从这个例子开始
有人说在这种情况下要使用abstract class
比如一个animal,有walk和sing方法
那么代码就是
public abstract class Animal{
public void walk(){System.out.println("walk")};
public abstract void sing();
}
然后对于具体的实现类,比如Cat,有如下实现
public class Cat extends Animal{
public void sing(){
System.out.println("cat sing");
}
}
这样一个类,好处就是“便于扩展”等等
OK,那么我们就从这个例子出发,说说为什么在j2ee环境中,我们不这么做
然后说说会怎么做
首先,在j2ee的环境中,关于animal这种实体
我们会在各个层面建立entity
比如在db层面建立一个表,叫做animal,然后有一个cat记录
然后通过orm,建立起一个dto之类的玩... 阅读全帖 |
|
z*******3 发帖数: 13709 | 13 之前说过我对abstract class的看法,倒是引来不少非议
尤其是有些人居然举出了例子,好,我们就从这个例子开始
有人说在这种情况下要使用abstract class
比如一个animal,有walk和sing方法
那么代码就是
public abstract class Animal{
public void walk(){System.out.println("walk")};
public abstract void sing();
}
然后对于具体的实现类,比如Cat,有如下实现
public class Cat extends Animal{
public void sing(){
System.out.println("cat sing");
}
}
这样一个类,好处就是“便于扩展”等等
OK,那么我们就从这个例子出发,说说为什么在j2ee环境中,我们不这么做
然后说说会怎么做
首先,在j2ee的环境中,关于animal这种实体
我们会在各个层面建立entity
比如在db层面建立一个表,叫做animal,然后有一个cat记录
然后通过orm,建立起一个dto之类的玩... 阅读全帖 |
|
z*******3 发帖数: 13709 | 14 我估计也是
这种legacy code
要想一下子理解,不是那么容易
毕竟不规范
你这种问题问一下其他老员工
也就是一分钟的事
远比你自己在这里问然后找要容易得多
j2ee就是这样,层与层之间的关联
没有你想得那么容易
往往这些关联是用框架来实现
也就是你光看代码,你是找不到的
你得去看配置文件,所以就很不直观
所以这就是为什么我长期强调规范代码
因为规范的代码查起来有官方文档的帮忙
不规范的代码,除了公司自己的人知道,就没有人知道了
不过你这个还好,图画出来我大概明白了
层次是这样
jsp->servlet(封装pojo,也就是实体,set/get方法)->ejb->bo?->*dao(这里应该是用
上了虚拟类的继承)->db
够原始的系统,ejb1.x版本时候的事,struts什么都没用上
好处是对你基础的提高很有帮助
你断掉的那个逻辑是在servlet到ejb之间
看ejb的配置文件,还有就是这个servlet应该有一个总的dispatcher
就是总的派发servlet的类,找找这个类,大概读一读代码
也许能够领悟,不过这非常不容易,我一般遇到这种就直接问了
问同事会快很多,没... 阅读全帖 |
|
z*******3 发帖数: 13709 | 15 framework跟container最大的区别就是
container通过脚本可以自己启动,运行成一个服务
而framework只能通过其它程序来启动,不能自行启动
也就是自己无法单独跑成一个服务
framework跟library的区别在于
framework有一个主类,负担起管理beans的任务
尤其是beans的生命周期的管理,这个功能container也有
所以才有了spring vs ejb之争,说的就是spring framework和ejb container之间
你要选择一个来管理你的beans的生命周期,也就是普通的java对象,从new到gc
然后library不负责管理beans的生命周期,只负责提供方法
所以从完整性上说
container > framework > lib
举个例子,我们不说spring
拿web server来说
tomcat是一个web server,你可以直接把tomcat给启动,不需要加任何代码,就可以跑了
然后你可以在tomcat上添加servlet之类的beans,让tomcat帮忙管理这样
如果你对tomcat的servlet... 阅读全帖 |
|
G***l 发帖数: 355 | 16 java这些东西对初学者上手真不难。我大三时候准备大四找工作,因为专业不是cs的,
为了让简历好看点自学那些玩意。我之前只会c++和core java。
做了一个学生成绩管理系统,虽然功能比较简单,但是那些还都用了。前端jsp+js,中
间servlet, struts, 后面jboss,ejb,只用了session bean,hibernate, mysql。一共
就花了3个星期,全是自己google tutorial,code sample,外加参考一两本电子书之
类的。那些东西只要掌握了核心概念,基本的框架很好理解。我当时就是最简单粗暴的
理解,struts就是个mvc的实现,转来转去就是怎么dispatch。EJB就是使用一个别的机
器上的jvm,所以才有什么home, remote的接口,这样本地的调用就可以直接走home接
口。hibernate就是把table对应到class。然后上手就觉得挺简单的。
对初学者而言最重要的是要一步一步来,一口吃不成胖子,不要看到后面那么多高级复
杂的内容就担心,先把简单核心的概念理解搞会。我当时就是先做了个纯jsp/servlet
的。然... 阅读全帖 |
|
x****d 发帖数: 1766 | 17 or you can tell the container use jsp engine to serve html.
jsp
*.html
ServletContextTemplateResolver"> |
|
g*****g 发帖数: 34805 | 18 servlet只是web框架里面的入点。简单的hello world程序,
有servlet就够了,读入输入,写html或其他输出,称为model 1。
现在大部分的框架是model 2的,也就是web框架里面分MVC层(struts, spring mvc)。
定义一个servlet做front controller,URL会被映射到特定的
controller上(control),输入的数据会被映射到一个javabean(model)上,
controller把这个数据validate后,把数据发到中间层service layer
去处理,然后返回到jsp(view)上。这是web mvc的框架,还有component
based的框架,不是以url来映射,而是以控件的event,跟Swing和.net的
风格比较接近,如jsf, wicket.
使用web框架,至少需要了解servlet, jsp, jstl,和框架本身。这还只是三层结构
的前端。中间层更复杂一些,牵涉到很多transaction, security, remoting的
问题。我个人认为JEE太复杂,需要至少干 |
|
|
|
|
|
w*******y 发帖数: 60932 | 23 Not sure how good of a deal this is but I thought it was great. This thing
has great reviews and it is free shipping. You usually have to spend $250 to
get the FS. My local ad has it advertised for $69.88 but on-line it shows $
69. I have a corporate perks site that I checked out thru and my total after
shipping ended up being $66.91, not sure how that happend but I'll take it!
It is sort of like that borders rewards program where you get reward/bonus
points that add up. Anyway, here is the info... 阅读全帖 |
|
w*******y 发帖数: 60932 | 24 Here we go again.. BOGO for almost all of menswearhouse's clothing line &
accessories except Shoes & Everyday Low Price items (eg. Wilke Rodrigez Suit
's dont qualify for BOGO).
Those Who bought the MW's B1G3 Ties deal, can now add Suit Seperates to
their wardrobe.
No COUPON Code Needed. All qualifying items have "Buy 1, Get 1 Free!" under
the prices
Limted Sizes so.. HURRY!
Dont Forget - BOGO Men's Wearhouse Single Suit Garment Bag (for your coats)
for $1.50 each.
Garment Bag $3 BOGO:
http://ww... 阅读全帖 |
|
|
|
|
|
|
w*******y 发帖数: 60932 | 30 This evening at Lowes found the M-D Building Products 18' Aluminum and
Rubber Universal Garage Door Bottom Black, $4.75, original $39.xx. Seems
good quality. Cashier didn't believe the price. I just checked the price
at different places randomly, price varies with some places around $10, some
below $5. For example at Panama City, FL, price is $5.
Remember: If your selected store is OOS (i.e., no pick up option) you will
see the full price. Must find a store with in-stock!
Here is the link ... 阅读全帖 |
|
|
|
|
|
g********g 发帖数: 2172 | 35 其实Servlet/JSP 是在性能最差之列, JSP 本质上就是Servlet, 根本原因是it要在JVM
上run. Application Server 的 Overhead 也很高, 如果再构架的不好, 用上一堆
third party .jar files, 那基本上慢得不能用, .NET 也一样, 要在CLR上RUN. CGI
如果用 C 之类的写, 可以直接编译成NATIVE CODE. 我以前看过一个BENCHMARK 说, 同
样的操作, 用CGI在一定的时间内可以RUN 300次, PHP/ASP可以100次, J2EE和.NET只能
30次, COLD FUSION比PHP/ASP稍微慢点. 当然和PHP/ASP之类的比, Servlet/JSP也不是
任何时候都慢, 比如大量数学计算, JAVA要比SCRIPT LANGUAGE快, 但还是远比不不上C
之类的可以编译成机器语言的语言. |
|
|
R******k 发帖数: 3942 | 37 what did you do?
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
org.apache.jasper.JasperException: java.util.NoSuchElementException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(
JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.
java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: |
|
|
|
|
|
|
|
|
|
|
|
|
b***i 发帖数: 3043 | 49 Commit了之后就可以看到jsp了。servlet导致服务器上compiler error,servlet-api.
jar导致的。看来JBoss Developer Studio就是烂。
但是,用Eclipse,建立tomcat的项目,就不用找servlet-api.jar吗? |
|
m*****e 发帖数: 126 | 50 最近非常不顺, 在家里的PC上写好的JSP page和Servlet搬到学校的机器上总出问题,
尽管两台机器的环境是完全一样的, 在学校的机器上出现各种错误, 而且大多数与
CLASSPATH之类的环境变量有关.
很多软件需要设置这个环境变量,例如Servlet engines和纯Java的web server等.
JDK1.2以后的版本可以把需要的jar file拷到java_home/jre/lib/ext目录下而免去
设置环境变量的麻烦. 这正是问题的罪魁祸首.我以前使过旧版本的Servlet engine,
把相应文件拷了过去. 等我升级到新版本时,早就忘记了那些旧的jar file,这样无论
怎么设新的CLASSPATH,还是那些旧文件在起作用.
花了两天时间才搞明白,希望大家不要走同样的弯路. |
|