引言

  记得上学时,有位导师说过一句很经典的话:"编程语言只是工具,最重要的是掌握思想。"
笔者一直主要从事.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之旅开个头.后续会逐渐深入.

转载于:https://www.cnblogs.com/lucky_hu/p/6539573.html

从零开始学JavaWeb相关推荐

  1. 关于新技术的引入原则 ——从零开始学架构

    不以解决实际问题引入的技术都耍流氓. 新技术的引入不是为了证明自己,而是为了解决实际项目中遇到的问题.希望诸位能够控制住自己的心魔. 新技术的引入要求应该是解决的问题大于带来的问题. 再引入新技术,请 ...

  2. python从0开始学编程课件_小白从零开始学编程(三)--python基本概念

    前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和F ...

  3. (10)Spring Boot修改端口号【从零开始学Spring Boot】

    Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...

  4. JAVE EE 企业级开发之从零开始学JAVA【51CTO技术论坛】

    http://bbs.51cto.com JAVE EE 企业级开发之从零开始学JAVA         从零开始学JAVA?YES!本刊内容全部为午饭redking整理.撰写,所涉及内容均为原创,非 ...

  5. 从零开始学 Python 之运算符

    从零开始学 Python 之运算符 前言 大家好,这里是「痴海」从零开始学习 Python 系列教程.此文首发于「痴海」公众号,欢迎大家去关注.学习一门语言最好的办法,就是教懂别人.在这公众号,我会从 ...

  6. 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什 ...

  7. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...

    此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...

  8. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】

    在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...

  9. (38)Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot】

    [本文章是否对你有用以及是否有好的建议,请留言] 在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而访问到另外 ...

最新文章

  1. 20 位百万富翁希望自己 20 岁就明白的事
  2. adb 重命名_Linux操作系统:三种最基本的文件重命名方法
  3. 翻窗户消失的百岁老人/百岁老人跷家去 中文字幕
  4. funm--矩阵的函数运算
  5. 运营商竞速搭建手机支出公司
  6. 0b3398php,思想道德修养与法律基础(九江职业技术学院)知到2020题目及答案
  7. [for循环之等腰三角形]
  8. Java注解Annotation 完成验证
  9. Taro+react开发(80):状态改变的构造函数
  10. 黑马h5学习代码_如何零基础制作酷炫实用的H5页面
  11. python列表解析,生成表达式(一分钟读懂)
  12. [wxWidget系列] wxWidget的事件机制
  13. 【一天一个C++小知识】013.std:map-不存在的key查找其value
  14. cron表达式解析生成网站
  15. 解读|风控模型的客观认识与深入理解
  16. 登康口腔冲刺上市:销售费用远高于研发,旗下品牌包括冷酸灵等
  17. 零基础该如何学习区块链?
  18. 【C++进阶】第二十篇——map和set(map和set的用法+multimap+multiset+map和set代码实现)
  19. 报错:Coroutine couldn't be started because the GameObject is inactive
  20. 圣戈班集团2019年销售额426亿欧元,增长2.4%

热门文章

  1. 给std::string增加format函数
  2. kmalloc, vmalloc分配的内存结构
  3. vue项目请求封装;axios封装使用
  4. [react] 如何更新组件的状态?
  5. 前端小知识点(4):JS 运行机制和存储
  6. 前端学习(2933):vue中的循环语句
  7. [html] iframe可以使用父页面中的资源吗(如:css、js等)?
  8. [vue] 怎么在vue中使用插件?
  9. 前端学习(2369):组件的创建使用和组件的生命周期
  10. 前端学习(2344):高阶组件和函数子组件