从零开始学JavaWeb

时间:2023-02-25 10:56:47

引言

  记得上学时,有位导师说过一句很经典的话:"编程语言只是工具,最重要的是掌握思想。"

笔者一直主要从事.net领域的开发工作。随着工作阅历的丰富,越来越深刻的理解当年导师说的那句话的意义。

"他山之石,可以攻玉",相互借鉴,然后为我所用,无疑是一种开放的态度。

一、基本目标

  同.net开发环境的搭建相比,javaweb开发环境的配置可谓相当"繁琐",所以这里会觉得微软Visual Studio IDE的强大。

本文是javaweb学习实践的一次较为详细的记录,希望能够对初学者带来一点帮助,少走弯路。

二、环境搭建

  Javaweb开发环境的搭建,笔者选择的IDE是IntelliJ IDEA(ideaIU-2016.3.4).安装 包括以下几点:

  • IDEA 安装
  • JDK安装和配置
  • appache-tomcat的配置
  • IDEA 构建Maven
1.IDEA 安装

  Windows安装包

  从零开始学JavaWeb

2.JDK安装和配置

  JDK 8安装包

  安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量

  系统变量→新建 JAVA_HOME 变量

变量值填写jdk的安装目录(本人是 C:\Program Files\Java\jdk1.8.0_60)

从零开始学JavaWeb

  系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

从零开始学JavaWeb

  系统变量→新建 CLASSPATH 变量

变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

从零开始学JavaWeb

  检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)

若如图所示 显示版本信息 则说明安装和配置成功。

从零开始学JavaWeb

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

从零开始学JavaWeb

  3)修改变量Path

在系统变量中找到Path变量名,双击或点击编辑,在末尾添加如下内容

;%CATALINA_HOME%\bin;%CATALINA_HOME%\lib

这里要注意,各个变量值之间一定要用;分隔。

从零开始学JavaWeb

  4)启动Tomcat服务器

在cmd命令窗口下输入startup回车,运行如下图所示

从零开始学JavaWeb

  5)测试Tomcat服务器是否安装成功

在浏览器中输入http://localhost:8080或http://127.0.0.1:8080

从零开始学JavaWeb

三、创建JavaWeb Maven项目

1.maven配置

  1)下载 Apache Maven 3.3.9

其中包含针对不同平台的各种版本的Maven下载文件。

  2)解压maven压缩包. 我解压的路径为:D:\Maven\apache-maven-3.3.9

从零开始学JavaWeb

  3)配置maven的环境变量

右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:

新建系统变量: MAVEN_HOME 变量值:E:\Maven\apache-maven-3.3.9

编辑系统变量 Path

添加变量值: ;%MAVEN_HOME%\bin

从零开始学JavaWeb

  4)检测是否安装成功

最后检验配置是否成功:用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn --version 若出现以下情况说明配置成功

从零开始学JavaWeb

2.idea配置JDK

  IDEA配置JDK

  打开IDEA IDE

  依次点开File -->ProjectStructure,点击左侧标签页,点击SDKs

  点击+号,选SDK

  在弹出框选择jdk路径(我本地C:\Program Files\Java\jdk1.8.0_60)

  点击OK,可以看到jdk配置好了

从零开始学JavaWeb

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导致。』的问题。

从零开始学JavaWeb

  3)新建项目

注意:要选maven-archetype-webapp,而不是cocoon-22-archetype-webapp

从零开始学JavaWeb

从零开始学JavaWeb

从零开始学JavaWeb

从零开始学JavaWeb

从零开始学JavaWeb

  4)配置tomcat

4.配置tomcat

  配置tomcat

  在主页面打开ProjectStructure,点击图示的按钮或是按ctrl+shift+alt+s快捷键。

  打开ProjectStructure后,按照图示依次点击Facets->+号,在弹出的对话框个中选择Web.

从零开始学JavaWeb

  在弹出的对话框选择刚才创建的Maven项目(MavenDemo),点击ok.

  接着会出现图示的结构,点击Deployment Descriptors 对话框右侧的加号,会弹出一个图示的小对话框,选择web.xml所在的路径,点击Ok。

从零开始学JavaWeb

  再次点击Web Resource Directories对话框右侧的加号,会弹出一个图示的小对话框,选择webapp所在的路径,点击Ok。

从零开始学JavaWeb

  再次回到Project Structure,点击左侧 Artifacts,依次点击+号->Web Application:Exploded->From Modules.

从零开始学JavaWeb

  出现下图的对话框,点击Ok即可。

从零开始学JavaWeb

  接下来开始配置Tomcat。然后在右上角点击那个下拉框,再点击Edit Configurations

从零开始学JavaWeb

  接着回到Server选项卡,配置一下Tomcat的基本参数,最后点击Ok即可

从零开始学JavaWeb

四、调试

  以上已经完整地创建了一个maven架构的webapp

效果如下:

从零开始学JavaWeb

从零开始学JavaWeb

五、总结

  总的来说,第一次使用感觉很繁琐.

  这篇算是为JavaWeb之旅开个头.后续会逐渐深入.

从零开始学JavaWeb的更多相关文章

  1. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  2. 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)

    你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...

  3. 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)

    硬盘和内存的作用是什么 硬盘的作用毫无疑问我们大家都清楚,不就是用来存储数据文件的么?如照片.视频.各种文档或等等,肯定也有你喜欢的某位岛国老师的动作片,这个时候无论我们电脑是否关机重启它们永远在那里 ...

  4. 从零开始学 Java - 我放弃了 &period;NET &quest;

    这不是一篇引起战争的文章 毫无疑问,我之前是一名在微软温暖怀抱下干了近三年的 .NET 开发者,为什么要牛(sha)X一样去搞 Java 呢?因为我喜欢 iOS 阿!哈哈,开个玩笑.其实,开始学 Ja ...

  5. 从零开始学 Java - Spring 集成 ActiveMQ 配置(二)

    从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置 ...

  6. 从零开始学Python07作业思路:模拟人生小游戏

    标签(空格分隔): 从零开始学Python 一,作业说明 模拟人生: 1 定义三个人物,屌丝John,美女Liz,高富帅Peter. John和Liz大学时是恋人,毕业工作后,Liz傍上了Peter, ...

  7. 从零开始学 Java - 利用 Nginx 负载均衡实现 Web 服务器更新不影响访问

    还记得那些美妙的夜晚吗 你洗洗打算看一个小电影就睡了,这个时候突然想起来今天晚上是服务器更新的日子,你要在凌晨时分去把最新的代码更新到服务器,以保证明天大家一觉醒来打开网站,发现昨天的 Bug 都不见 ...

  8. 从零开始学 Java - log4j 项目中的详细配置

    你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后, ...

  9. 从零开始学 Java - Spring 支持 CORS 请求踩的坑

    谁没掉进过几个大坑 记得好久之前,总能时不时在某个地方看到一些标语,往往都是上面一个伟人的头像,然后不管是不是他说的话,下面总是有看起来很政治正确且没卵用的屁话,我活到目前为止,最令我笑的肚子痛得是下 ...

随机推荐

  1. gitlab一键安装 (转)

    原文地址:http://www.2cto.com/os/201411/353292.html 0 简介bitnami和gitlab bitnami BitNami是一个开源项目,该项目产生的开源软件包 ...

  2. java二维数组的定义

    java中的一维数组的定义都熟了,但是二位数组和一维数组的定义有些微差别.在网上看到了篇文章,总结的很详细.转载下了. 原文链接[http://blog.sina.com.cn/s/blog_6189 ...

  3. SQL的内连接与外连接

    转自:http://blog.csdn.net/killerggf/article/details/6216102 有两个表A和表B.  表A结构如下:  Aid:int:标识种子,主键,自增ID   ...

  4. iOS - instancetype

    OC是一门正在迅速发展的语言,ARC,object literals ,subscripting ,blocks,Auto Synthesis,让我们看到它惊人的改变.instancetype是cla ...

  5. 未能加载文件或程序集&OpenCurlyDoubleQuote;ICSharpCode&period;SharpZipLib&comma; Version&equals;0&period;86&period;0&period;518&comma; Culture&equals;neutral&comma; PublicKeyToken&equals;1b03e6acf1164f73”或它的某一个依赖项

    未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf116 ...

  6. 如何用正确的姿势查看 主机系统的CPU信息

    一.关于CPU的几个概念 CPU的作用 计算机中的*处理单元(CPU)执行基本的计算工作 -- 运行程序.但是,一个单核的CPU同一时间只能一次执行一个任务,为了提高计算机的处理能力,也就出现了多C ...

  7. spring security 实践 &plus; 源码分析

    前言 本文将从示例.原理.应用3个方面介绍 spring data jpa. 以下分析基于spring boot 2.0 + spring 5.0.4版本源码 概述 Spring Security 是 ...

  8. 防止shell脚本长时间执行导致ssh超时

    在一些对安全性要求较高的场景下.ssh的超时时间是管理员预先设置好的,在闲置一段时间后ssh连接会自己主动断开. 这样的情况下假设通过ssh运行脚本,而脚本运行时间又比較长的话.会导致sshclien ...

  9. Error&colon; Java heap space

    在chd中 的hive中执行 (select count (*))  或者mr程序都报Error: Java heap space 4.io.sort.mb 的作用  排序所使用的内存数量.  默认值 ...

  10. asp&period;net 网站 发布时 去掉&period;cs文件

    VS2013在WIN8下扁平的UI和我今天锈垢的大脑,让找这个设置找了好半天!!!   OK,言归正传.   在要发布的网站上右键,选择"发布网站".   在发布窗口中,会让你选择 ...