Java Web 如何入门? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问时复制粘贴 AI 生成的内容
bbzt
V2EX    程序员

Java Web 如何入门?

  •  
  • /a>
      bbzt 2018-04-04 09:57:35 +08:00 8620 次点击
    这是一个创建于 2805 天前的主题,其中的信息可能已经有所发展或是发生改变。

    你们用什么 IDE ?用什么框架? 昨天用 IDEA 跑 spring mvc 的 demo 折腾了半天 tomcat 跑不了。

    有什么简单的 github 项目提供学习?

    第 1 条附言    2018-04-04 13:57:33 +08:00
    讨论变成了,spring boot 与传统的 servlet 争论

    传统的 servlet 需要配合 tomcat 这种服务来整合,IDEA 整合 tomcat 用起来碰到不少问题,汗

    spring boot 编译生成一个 jar 就直接运行,学习和部署成本是最低的。
    第 2 条附言    2018-04-04 15:13:52 +08:00
    把 spring boot 的各个 demo ( https://github.com/ityouknow/spring-boot-examples ) 跑了一通,过了下 crud,感觉还行,算是入门了。

    不过,我觉得在编译型语言里 go 写 web 比 java 方便。(逃。。
    43 条回复    2018-04-05 11:02:46 +08:00
    pheyer
        1
    pheyer  
       2018-04-04 10:00:15 +08:00
    最近也在学,先在电视上看视频教程不急着跑项目
    lawler
        2
    lawler  
       2018-04-04 10:01:30 +08:00
    @pheyer exm ?在电视上看?
    octobersnow
        3
    octobersnow  
       2018-04-04 10:01:39 +08:00 via iPhone
    不应该先学 jsp 和 servlet 吗 直接上手框架?
    yidinghe
        4
    yidinghe  
       2018-04-04 10:04:08 +08:00   1
    外围基础知识:HTTP 协议、HTML、Javascript、CSS
    Java Web 学习:首先学会写简单的 JSP,然后了解 Servlet 框架,然后了解基于 Servlet 的 MVC 框架。
    fengyj
        5
    fengyj  
       2018-04-04 10:06:05 +08:00 via Android
    不应该先会基础的 se 基本知识么?
    kamil
        6
    kamil  
       2018-04-04 10:10:58 +08:00 via iPhone
    请直接用 Spring Boot 开始,https://projects.spring.io/spring-boot/
    pheyer
        7
    pheyer  
       2018-04-04 10:13:55 +08:00
    @lawler 把手机视频推到电视上看啊,无论是手机还是电脑上看视频总觉得屏幕小不爽,还是电视上看得爽一些,另外少了很多干扰,因为不好做其它事啊
    bbzt
        8
    bbzt  
    OP
       2018-04-04 10:17:39 +08:00
    @octobersnow
    @yidinghe
    @huiyifyj
    @kamil

    Java 语法懂,但只会写 Java 命令行程序, 我写 PHP 的 http 相关的都懂。

    现在碰到的问题是,想学 java web 但是代码跑不起来。。( /t/443992
    jjianwen68
        9
    jjianwen68  
       2018-04-04 10:18:09 +08:00 via Android   1
    可以用 spring tools,使用 spring boot。see start.spring.io
    codeyung
        10
    codeyung  
       2018-04-04 10:23:41 +08:00
    学学 jsp 看看 servlet 生命周期 http 之后在上框架吧 多少看点基础
    qwertty01
        11
    qwertty01  
       2018-04-04 10:31:08 +08:00
    @bbzt 选择很多啊,你都不会用百度吗。什么《 Java Web 整合开发王者归来》《 Java Web 高级编程》《 Spring 实战》《 Spring4.x 企业应用开发实战》。
    qwertty01
        12
    qwertty01  
       2018-04-04 10:32:50 +08:00
    建议按顺序来,先学习一下 JavaEE,比如什么 Jsp、Serverlet 之类的,然后再学 Spring。

    JavaWeb 零基础,上来就学 SpringBoot 不是搞笑吗。
    starmoon1994
        13
    starmoon1994   div class="badges">   2018-04-04 10:33:44 +08:00
    javaSE 和 javaEE 中间还是隔了不少东西的
    crossoverJie
        14
    crossoverJie  
       2018-04-04 10:34:25 +08:00   1
    1. IDEA
    2. Spring 全家桶(SpringBoot)
    3. 学习的话 这个还挺适合新手的 https://github.com/crossoverJie/SSM
    codingKingKong
        15
    codingKingKong  
       2018-04-04 10:45:24 +08:00
    idea, ssm 或者 springboot, 优先建议 springmvc + spring 起步, 再过渡到 springboot 会感觉无配置真的爽...
    codingKingKong
        16
    codingKingKong  
       2018-04-04 10:46:08 +08:00
    这里有一个 demo, 跑起来还是可以的...
    https://github.com/isCoding/springMVC_demo
    bbzt
        17
    bbzt  
    OP
       2018-04-04 10:47:41 +08:00
    @jjianwen68
    @qwertty01
    @codeyung

    我按照这个 spring boot 的项目生成 jar 包,写 demo 跑起来了,但是为什么有些又是 war 包? spring boot 不能生产 war 包?
    vjnjc
        18
    vjnjc  
       2018-04-04 11:52:31 +08:00   1
    spring boot 官方推荐的是微服务,就是自启动,意思就是一个 jar 包自己 run。
    war 包需要扔在 tomcat 里面
    Amayadream
        19
    Amayadream  
       2018-04-04 11:59:42 +08:00
    上来就学 Spring Boot 的麻烦不要误人子弟好吗? Java Web 先从 Servlet 入门, 然后接触 Spring MVC, 这些都掌握熟练之后才考虑学习 Spring Boot, 初学者连基础的 Servlet 都不会就去学高级框架以后就等着踩坑吧
    zjp
        20
    zjp  
       2018-04-04 12:39:36 +08:00 via Android
    同意楼上
    框架屏蔽了太多细节,直接上框架又不懂原理的话遇到点问题无从下手,能折腾上一整天。相当挫败
    OpenJerry
        21
    OpenJerry  
       2018-04-04 12:42:50 +08:00 via Android
    先学 Jsp + Servlet + JDBC
    再学框架
    night98
        22
    night98  
       2018-04-04 12:44:24 +08:00   4
    Java Web 入门:
    1. 学习 HTML CSS JS,知道大概原理和基础语法即可
    2.学习 Servlet,包括其中原理,以及 Servlet3 的异步操作(说要学 JSP 和模板的先停一下)
    3.学习 Spring 框架,即 spring-framework,了解基本用法即可
    4.学习 MyBatis 框架,熟悉常见开发方式即可(此处默认你已有 SQL 知识,若无请先补充 JDBC 及 SQL 知识)
    5.学习 SpringMVC 框架,了解基本用法即可
    6.学习 SpringBoot 框架,了解基本用法即可
    7.学习其他周边内容,包括但不限于分布式,缓存,队列,异步等等。
    wsb200514
        23
    wsb200514  
       2018-04-04 13:05:06 +08:00
    如果直接上手 spring boot 的话,那么就再也不想回去用 ssh/ssm 那些框架了,也就少了个学习的过程,对自己做项目没影响对就业可能有影响。有利有弊。
    bbzt
        24
    bbzt  
    OP
       2018-04-04 13:43:18 +08:00
    @vjnjc

    我现在用 IDEA 自动运行 spring mvc 的 war 包到 tomcat,运行不了,但是手动把 war 包扔到 tomcat 的 webapps 下可以正常运行。


    你们一般是怎么开发的?编译后手动再扔到 tomcat 下好麻烦,怎么才能直接快速就能看到效果?
    wizardforcel
        25
    wizardforcel  
       2018-04-04 13:47:12 +08:00
    @Amayadream Spring Boot 不依赖任何 JavaEE 技术栈。不过如果用它的公司多,直接学它也是可以的。
    nita22
        26
    nita22  
       2018-04-04 14:15:25 +08:00
    @bbzt IDEA 里面配置好 tomcat,就可以每次自动部署。运行不了可以截图上来看看
    thinkingInJava
        27
    thinkingInJava  
       2018-04-04 14:32:39 +08:00 via iPhone
    @bbzt idea 界面 server 里面双击 tomcat 打开设置 勾当中的选项 应该能解决你的问题了。注意是双击,不是右击部署启动
    bbzt
        28
    bbzt  
    OP
       2018-04-04 14:34:03 +08:00
    @thinkingInJava
    @nita22

    我昨天就是这个问题( /t/443992 ),tomcat 在 idea 里跑不了,只能手动扔 war 包运行
    thinkingInJava
        29
    thinkingInJava  
       2018-04-04 14:37:22 +08:00 via iPhone
    @bbzt 解决了么?
    murmur
        30
    murmur  
       2018-04-04 14:53:44 +08:00
    servlet 基础还是要有的 别某些 java 程序员一样 spring 写了 n 久都不知道还有 HttpServletRequest
    tinyuu
        31
    tinyuu  
       2018-04-04 14:56:03 +08:00
    IDEA 整合 tomcat 能有什么问题?
    tinyuu
        32
    tinyuu  
       2018-04-04 15:27:16 +08:00
    你这算什么入门啊
    mooczz
        33
    mooczz  
       2018-04-04 16:16:43 +08:00 via iPhone
    Java web 的最大的门槛就是环境搭建
    CoderGeek
        34
    CoderGeek  
       2018-04-04 16:19:48 +08:00
    @bbzt 想要生成 war 包修改 pom.xml 配置 如果是用 maven 的话 使用外部的 tomcat 部署
    相关的百度一下
    CoderGeek
        35
    CoderGeek  
       2018-04-04 16:22:03 +08:00
    Application 启动类 extends SpringBootServletInitializer
    CoderGeek
        36
    CoderGeek  
       2018-04-04 16:23:26 +08:00
    说错了 添加外部 tomcat 的话 添加服务器配置就好了 ...
    nita22
        37
    nita22  
       2018-04-04 17:36:20 +08:00
    @bbzt 昨天帖子 @night98 已经给出了错误原因了,“可能他是去找 hello 这个页面找不到所以就 404 了,如果你想返回 json 格式数据请用 restController 或在方法上加 @ResponseBody 注解”
    既然你能打开 tomcat 的 manager 就说明已经 tomcat 已经配置成功了呀
    bbzt
        38
    bbzt  
    OP
       2018-04-04 18:31:37 +08:00
    @nita22

    能确定不是代码问题啊,因为 war 包直接手动扔 tomcat 下是可以访问到的
    bbzt
        39
    bbzt  
    OP
       2018-04-04 18:32:01 +08:00
    @thinkingInJava

    没有解决
    yanjinbin
        40
    yanjinbin  
       2018-04-04 23:37:11 +08:00 via iPhone
    @qwertty01 我觉得你更搞笑。。。JSP ex me
    yanjinbin
        41
    yanjinbin  
       2018-04-04 23:38:18 +08:00 via iPhone
    @codingKingKong 直接 boot 就好了。XML 和注解有什么区别??? xml 才是最恶心的
    tedzhou1221
        42
    tedzhou1221  
       2018-04-05 09:20:24 +08:00 via Android
    学 Jsp server 没毛病啊。


    你是初学,不是要快速解决一个问题。欲速则不达!

    为什么 Spring MVC 获取参数这么方便,了解过吗?一旦出问题,你知道大概是哪个环节错来吗?

    所以建议一步一步来吧

    那些看源码的大佬们还没说话呢
    magicO
        43
    magicO  
       2018-04-05 11:02:46 +08:00 via Android
    大佬这么牛逼。上来就框架。我这种小菜鸡那会刚学就是一步一步走。java web 入门的书(servlet,jsp 之类的),跟着写。然后拿个简单点的项目入手,接着再找本 spring 的书跟着做,做久了,问题遇到的多了,以后就自己有经验了。没啥窍门,多写,多犯错。你就更深入了解框架之间的区别和联系,也会更加明白框架的底层的东西。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3488 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:19 PVG 12:19 LAX 20:19 JFK 23:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86