Redian新闻
>
入门问题:以Spring+JPA开发back end,那么表现层只能用jsp吗?
avatar
入门问题:以Spring+JPA开发back end,那么表现层只能用jsp吗?# Java - 爪哇娇娃
z*5
1
Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。
avatar
t*a
2
以前我用velocity或者freemarker

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
z*e
3
jsp可以被freemarker或者jsf所替换
官方强推jsf
freemarker不仅仅可以用在html这些东西上
还可以用在xml等模板上,我们用freemarker做邮件,xml这些东西的模板
不过如果图简单,jsp是一个比较好的选择
看你要干什么先
avatar
g*g
4
中后层变化比较少。前端近年随着js的一些类库越做越大,server side scripting渐
渐弱化。大量提交以ajax来完成。

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
b*i
5
hibernate就是数据库方面的接口吗?我用google app engine直接put可以取代
hibernate吗?

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
z*e
6
标准接口是jdbc
用了这个就可以在java code里面写sql了
但是sql本身有很多问题
比如不同db用不同的sql
所以jpa是在这一层又做了一个统一

【在 b***i 的大作中提到】
: hibernate就是数据库方面的接口吗?我用google app engine直接put可以取代
: hibernate吗?

avatar
c*e
7
用jdbc的一个问题就是经常要写同一段代码,所以用spring,hibernate来做就好很多。
hibernate把object,table map起来,方便多了。
c#则是用linq来做,已经有了它自己复杂的syntax.貌似还不错。
总之,要persistent的,就用class,然后hibernate。比如做个java bean,implement
serializable,加上@id等annotation,就可以存数据库了;只是在内存里存在的,就用
list,arraylist,vector这些数据结构就行了。比如shopping cart,只是内存里存在的
,就用arraylist,list就可以进行add,remove了。

【在 z****e 的大作中提到】
: 标准接口是jdbc
: 用了这个就可以在java code里面写sql了
: 但是sql本身有很多问题
: 比如不同db用不同的sql
: 所以jpa是在这一层又做了一个统一

avatar
c*e
8
用jsp是为了达到动态网页的效果。你如果不想动态网页,就用html了。

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
b*i
9
技术进步太快了。还没开始学sql呢,已经不需要它了。连hibernate都不需要了。看来
google app engine最多用上spring。我现在还没用上之。

【在 z****e 的大作中提到】
: 标准接口是jdbc
: 用了这个就可以在java code里面写sql了
: 但是sql本身有很多问题
: 比如不同db用不同的sql
: 所以jpa是在这一层又做了一个统一

avatar
z*e
10
短期内还是会用到
sql是学db的基础,但是现在越来越不需要你去手写sql了
平常复习一下左连接右连接就好了
还有crud这些基本操作
appengine沒有用db,所以用不到hibernate
现在持久化的做法是可能不采用传统的关系型数据库
因为多数时候数据是独立的,并不是关联数据
独立的数据可以单独存放,就没有必要每一次都去select一把
一旦涉及到海量数据,select的效率就会逐步降低
select至上再搞transaction就非常恶心了
其实这种割裂的,分离的模块化的思想从始至终都是软件工程这门学科的核心思想
在搞完了middleware之后,这批人开始对db动手了
因为现在主要系统瓶颈都在db这一块上
其实很多年以前我就在尽量减少对db的依赖,各种db的功能
比如store procedure之类的我用得很少,就跟javascript我用得也很少一样
大多数逻辑都集中在java代码上去处理,其它的层面都做比较简单的操作

【在 b***i 的大作中提到】
: 技术进步太快了。还没开始学sql呢,已经不需要它了。连hibernate都不需要了。看来
: google app engine最多用上spring。我现在还没用上之。

avatar
z*e
11
db也变来变去,唯一不变的就是java
这么多年了,java还是那个java
十年前的东西依旧有效,hoho
avatar
b*i
12
很对。以我目前的网站来看不太需要关系,感兴趣的是数据的持久。google app
engine非常适合这种网站的设计。
这些技术细分以下真的很好。

【在 z****e 的大作中提到】
: 短期内还是会用到
: sql是学db的基础,但是现在越来越不需要你去手写sql了
: 平常复习一下左连接右连接就好了
: 还有crud这些基本操作
: appengine沒有用db,所以用不到hibernate
: 现在持久化的做法是可能不采用传统的关系型数据库
: 因为多数时候数据是独立的,并不是关联数据
: 独立的数据可以单独存放,就没有必要每一次都去select一把
: 一旦涉及到海量数据,select的效率就会逐步降低
: select至上再搞transaction就非常恶心了

avatar
g*g
13
GAE is like an JDO implementation. It's convenient when you don't have a lot
of data, but probably a pain in the ass at certain scale.
For java developers, it's a good idea to learn the general approach. Just my
2c.

【在 b***i 的大作中提到】
: 很对。以我目前的网站来看不太需要关系,感兴趣的是数据的持久。google app
: engine非常适合这种网站的设计。
: 这些技术细分以下真的很好。

avatar
h*k
14
GWT GWT ...

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
z*5
15
Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。
avatar
t*a
16
以前我用velocity或者freemarker

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
z*e
17
jsp可以被freemarker或者jsf所替换
官方强推jsf
freemarker不仅仅可以用在html这些东西上
还可以用在xml等模板上,我们用freemarker做邮件,xml这些东西的模板
不过如果图简单,jsp是一个比较好的选择
看你要干什么先
avatar
g*g
18
中后层变化比较少。前端近年随着js的一些类库越做越大,server side scripting渐
渐弱化。大量提交以ajax来完成。

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
b*i
19
hibernate就是数据库方面的接口吗?我用google app engine直接put可以取代
hibernate吗?

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
z*e
20
标准接口是jdbc
用了这个就可以在java code里面写sql了
但是sql本身有很多问题
比如不同db用不同的sql
所以jpa是在这一层又做了一个统一

【在 b***i 的大作中提到】
: hibernate就是数据库方面的接口吗?我用google app engine直接put可以取代
: hibernate吗?

avatar
c*e
21
用jdbc的一个问题就是经常要写同一段代码,所以用spring,hibernate来做就好很多。
hibernate把object,table map起来,方便多了。
c#则是用linq来做,已经有了它自己复杂的syntax.貌似还不错。
总之,要persistent的,就用class,然后hibernate。比如做个java bean,implement
serializable,加上@id等annotation,就可以存数据库了;只是在内存里存在的,就用
list,arraylist,vector这些数据结构就行了。比如shopping cart,只是内存里存在的
,就用arraylist,list就可以进行add,remove了。

【在 z****e 的大作中提到】
: 标准接口是jdbc
: 用了这个就可以在java code里面写sql了
: 但是sql本身有很多问题
: 比如不同db用不同的sql
: 所以jpa是在这一层又做了一个统一

avatar
c*e
22
用jsp是为了达到动态网页的效果。你如果不想动态网页,就用html了。

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
b*i
23
技术进步太快了。还没开始学sql呢,已经不需要它了。连hibernate都不需要了。看来
google app engine最多用上spring。我现在还没用上之。

【在 z****e 的大作中提到】
: 标准接口是jdbc
: 用了这个就可以在java code里面写sql了
: 但是sql本身有很多问题
: 比如不同db用不同的sql
: 所以jpa是在这一层又做了一个统一

avatar
z*e
24
短期内还是会用到
sql是学db的基础,但是现在越来越不需要你去手写sql了
平常复习一下左连接右连接就好了
还有crud这些基本操作
appengine沒有用db,所以用不到hibernate
现在持久化的做法是可能不采用传统的关系型数据库
因为多数时候数据是独立的,并不是关联数据
独立的数据可以单独存放,就没有必要每一次都去select一把
一旦涉及到海量数据,select的效率就会逐步降低
select至上再搞transaction就非常恶心了
其实这种割裂的,分离的模块化的思想从始至终都是软件工程这门学科的核心思想
在搞完了middleware之后,这批人开始对db动手了
因为现在主要系统瓶颈都在db这一块上
其实很多年以前我就在尽量减少对db的依赖,各种db的功能
比如store procedure之类的我用得很少,就跟javascript我用得也很少一样
大多数逻辑都集中在java代码上去处理,其它的层面都做比较简单的操作

【在 b***i 的大作中提到】
: 技术进步太快了。还没开始学sql呢,已经不需要它了。连hibernate都不需要了。看来
: google app engine最多用上spring。我现在还没用上之。

avatar
z*e
25
db也变来变去,唯一不变的就是java
这么多年了,java还是那个java
十年前的东西依旧有效,hoho
avatar
b*i
26
很对。以我目前的网站来看不太需要关系,感兴趣的是数据的持久。google app
engine非常适合这种网站的设计。
这些技术细分以下真的很好。

【在 z****e 的大作中提到】
: 短期内还是会用到
: sql是学db的基础,但是现在越来越不需要你去手写sql了
: 平常复习一下左连接右连接就好了
: 还有crud这些基本操作
: appengine沒有用db,所以用不到hibernate
: 现在持久化的做法是可能不采用传统的关系型数据库
: 因为多数时候数据是独立的,并不是关联数据
: 独立的数据可以单独存放,就没有必要每一次都去select一把
: 一旦涉及到海量数据,select的效率就会逐步降低
: select至上再搞transaction就非常恶心了

avatar
g*g
27
GAE is like an JDO implementation. It's convenient when you don't have a lot
of data, but probably a pain in the ass at certain scale.
For java developers, it's a good idea to learn the general approach. Just my
2c.

【在 b***i 的大作中提到】
: 很对。以我目前的网站来看不太需要关系,感兴趣的是数据的持久。google app
: engine非常适合这种网站的设计。
: 这些技术细分以下真的很好。

avatar
h*k
28
GWT GWT ...

【在 z*****5 的大作中提到】
: Spring,JPA(Hibernate等),Spring MVC(Struts),视图用jsp,这是一套完成方
: 案,其中哪些东西可以替换成别的?有什么流行趋势?谢谢。

avatar
x*o
29
还是JPA简单啊,EJB3.0的技术,只要标注就可以了,连sql都省了
avatar
r*s
30
sql省了也是部分情况,
不代表Sql都不要学了,
sql不懂搞Backend搞不通的。

【在 x****o 的大作中提到】
: 还是JPA简单啊,EJB3.0的技术,只要标注就可以了,连sql都省了
avatar
S*h
31
It is OK to get by without knowing much underneath as a newbie. For example,
95% of time you just need JPA annotation. But it is hard to discuss
performance and tweaking if you have no idea about it (sql, DB). It really
depends how much deeper you want to get.
avatar
B*g
32
有些屌蛋sql还是很难写的,另外h里面的sql怎么加hint?

【在 r*****s 的大作中提到】
: sql省了也是部分情况,
: 不代表Sql都不要学了,
: sql不懂搞Backend搞不通的。

avatar
a*n
33
同意这个。根据我的经验,struts, jsf, spring web 都有很大的缺陷。尤其是处理
form submission的时候。
我这几年总结出来一套好的方法是增加一个web service层。 然后在jsp里面用include
调用web service. web service的结果放到request attribute里面供jsp取值。 这个
做法适合于GET请求。 对POST请求,用AJAX调用web service. Web service 可以做
validation, 返回错误码如果输入有错。 没错的话就用ajax切换到其他页或者更新当
前页。

【在 g*****g 的大作中提到】
: 中后层变化比较少。前端近年随着js的一些类库越做越大,server side scripting渐
: 渐弱化。大量提交以ajax来完成。

avatar
w*u
34
好像你提到的那几个有缺陷的framework 都有bean validation

include

【在 a*******n 的大作中提到】
: 同意这个。根据我的经验,struts, jsf, spring web 都有很大的缺陷。尤其是处理
: form submission的时候。
: 我这几年总结出来一套好的方法是增加一个web service层。 然后在jsp里面用include
: 调用web service. web service的结果放到request attribute里面供jsp取值。 这个
: 做法适合于GET请求。 对POST请求,用AJAX调用web service. Web service 可以做
: validation, 返回错误码如果输入有错。 没错的话就用ajax切换到其他页或者更新当
: 前页。

avatar
t*a
35
你这办法好么?
jsp里调用webservice就不说了。。。。你把web service的结果放在http请求里了,万
一客户端有人恶意修改http request呢。。。

include

【在 a*******n 的大作中提到】
: 同意这个。根据我的经验,struts, jsf, spring web 都有很大的缺陷。尤其是处理
: form submission的时候。
: 我这几年总结出来一套好的方法是增加一个web service层。 然后在jsp里面用include
: 调用web service. web service的结果放到request attribute里面供jsp取值。 这个
: 做法适合于GET请求。 对POST请求,用AJAX调用web service. Web service 可以做
: validation, 返回错误码如果输入有错。 没错的话就用ajax切换到其他页或者更新当
: 前页。

avatar
a*n
36
根据我的经验,jsp调用web service很好,架构清楚。我在web service层次实现不同
的输出,有xml输出,有json输出,有object输出。 所谓object输出就是把结果用
request.setAttribute设置一下。
结果放http请求里是大家的共同做法,比如Spring MVC。 而且request object 是服务
器端的,客户端是修改不了的。

【在 t***a 的大作中提到】
: 你这办法好么?
: jsp里调用webservice就不说了。。。。你把web service的结果放在http请求里了,万
: 一客户端有人恶意修改http request呢。。。
:
: include

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。