如何从零基础开始学习JavaWeb开发?

摘要:引言   记得上学时,有位导师说过一句很经典的话:'编程语言只是工具,最重要的是掌握思想。' 笔者一直主要从事.net领域的开发工作。随着工作阅历的丰富
引言   记得上学时,有位导师说过一句很经典的话:"编程语言只是工具,最重要的是掌握思想。" 笔者一直主要从事.net领域的开发工作。随着工作阅历的丰富,越来越深刻的理解当年导师说的那句话的意义。 "他山之石,可以攻玉",相互借鉴,然后为我所用,无疑是一种开放的态度。 一、基本目标   同.net开发环境的搭建相比,javaweb开发环境的配置可谓相当"繁琐",所以这里会觉得微软Visual Studio IDE的强大。 本文是javaweb学习实践的一次较为详细的记录,希望能够对初学者带来一点帮助,少走弯路。 二、环境搭建   Javaweb开发环境的搭建,笔者选择的IDE是IntelliJ IDEA(ideaIU-2016.3.4).安装 包括以下几点: IDEA 安装 JDK安装和配置 appache-tomcat的配置 IDEA 构建Maven 1.IDEA 安装   Windows安装包    2.JDK安装和配置   JDK 8安装包   安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量   系统变量→新建 JAVA_HOME 变量 变量值填写jdk的安装目录(本人是 C:\Program Files\Java\jdk1.8.0_60)   系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)   系统变量→新建 CLASSPATH 变量 变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)   检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格) 若如图所示 显示版本信息 则说明安装和配置成功。 3.appache-tomcat的配置   apache-tomcat-8.0.41   配置Tomcat环境变量   计算机→属性→高级系统设置→高级→环境变量   在系统变量中添加以下变量   1)新建TOMCAT_HOME变量 变量名:TOMCAT_HOME 变量值:F:\JavaSoftwares\tomcat\apache-tomcat-8.0.41   2)新建CATALINA_HOME变量 变量名CATALINA_HOME 变量值F:\JavaSoftwares\tomcat\apache-tomcat-8.0.41   3)修改变量Path 在系统变量中找到Path变量名,双击或点击编辑,在末尾添加如下内容 ;%CATALINA_HOME%\bin;%CATALINA_HOME%\lib 这里要注意,各个变量值之间一定要用;分隔。   4)启动Tomcat服务器 在cmd命令窗口下输入startup回车,运行如下图所示   5)测试Tomcat服务器是否安装成功 在浏览器中输入http://localhost:8080或http://127.0.0.1:8080 三、创建JavaWeb Maven项目 1.maven配置   1)下载 Apache Maven 3.3.9 其中包含针对不同平台的各种版本的Maven下载文件。   2)解压maven压缩包. 我解压的路径为:D:\Maven\apache-maven-3.3.9   3)配置maven的环境变量 右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置: 新建系统变量: MAVEN_HOME 变量值:E:\Maven\apache-maven-3.3.9 编辑系统变量 Path 添加变量值: ;%MAVEN_HOME%\bin   4)检测是否安装成功 最后检验配置是否成功:用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn --version 若出现以下情况说明配置成功 2.idea配置JDK   IDEA配置JDK   打开IDEA IDE   依次点开File -->ProjectStructure,点击左侧标签页,点击SDKs   点击+号,选SDK   在弹出框选择jdk路径(我本地C:\Program Files\Java\jdk1.8.0_60)   点击OK,可以看到jdk配置好了 3.idea构建Maven   如上maven已经下载并解压到本机(我本地D:\Maven\apache-maven-3.3.9)   1) 找到/conf/setting.xml文件,用文本编辑器打开。由于Maven远程仓库在国外,所以在下载相关jar包时非常慢,将其配置为Alibaba的仓库,需添加下面代码: <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror> --> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>uk</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://uk.maven.org/maven2/</url> </mirror> <mirror> <id>CN</id> <name>OSChina Central</name> <url>http://maven.oschina.net/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>nexus</id> <name>internal nexus repository</name> <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>--> <url>http://repo.maven.apache.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>   2)配置 IDEA默认设置 此处解决了『maven骨架生成项目速度慢的令人发指,都在Generating project in Batch mode等待,Idea状态显示栏还在不行runing,并没有卡死。查看debug信息发现,是maven获取archetype-catalog.xml导致。』的问题。   3)新建项目 注意:要选maven-archetype-webapp,而不是cocoon-22-archetype-webapp   4)配置tomcat 4.配置tomcat   配置tomcat   在主页面打开ProjectStructure,点击图示的按钮或是按ctrl+shift+alt+s快捷键。   打开ProjectStructure后,按照图示依次点击Facets->+号,在弹出的对话框个中选择Web.   在弹出的对话框选择刚才创建的Maven项目(MavenDemo),点击ok.   接着会出现图示的结构,点击Deployment Descriptors 对话框右侧的加号,会弹出一个图示的小对话框,选择web.xml所在的路径,点击Ok。   再次点击Web Resource Directories对话框右侧的加号,会弹出一个图示的小对话框,选择webapp所在的路径,点击Ok。   再次回到Project Structure,点击左侧 Artifacts,依次点击+号->Web Application:Exploded->From Modules.   出现下图的对话框,点击Ok即可。   接下来开始配置Tomcat。然后在右上角点击那个下拉框,再点击Edit Configurations   接着回到Server选项卡,配置一下Tomcat的基本参数,最后点击Ok即可 四、调试   以上已经完整地创建了一个maven架构的webapp 效果如下: 五、总结   总的来说,第一次使用感觉很繁琐.   这篇算是为JavaWeb之旅开个头.后续会逐渐深入.