JavaWeb快速入门

文章转自:https://www.cnblogs.com/1906859953Lucas/p/10821840.html

实验环境准备

(假设你已经装好了jdk)

1.1 安装一个eclipse或者MyEclipse(本文以eclipse为例),其实所谓的安装就是网上去下载一个eclipse,然后解压一下就好了。

1.2安装tomcat,网上下载一个,然后解压一下。我这次使用的tomcat容器配的是8080端口。

什么是JavaWeb项目,它能干嘛?

JavaWeb项目就是一个应用程序,你不要以为它有多么神秘。你每天打开的QQ就一个应用程序,你在手机上打开的微信,百度地图等等,这些都是应用程序。

而Web项目是什么呢?

它也是一个应用程序,只不过它的客户端是运行在浏览器上的。

我们打开浏览器,访问一个地址,比如 http://www.jianshu.com/

有了web,我只需要有一个浏览器,然后就能通过互联网获取我想要的资源了。这样不是很美妙吗?

近几年H5非常流行,尤其是移动端,因为手机浏览器基本上都支持css3。一样的道理,我们肯定也不希望在手机上安装一大堆应用,卡都卡死了,如果能直接访问一个网页,就能获得我想要的服务就好了。

而且现在WIFI也普遍了,如果以后流量能没有限制,那么APP的热度很可能会逐渐被web取代。

手工搭建web项目

现在,为了说明服务器和web项目的概念,我们先不用eclipse,来手工搭建一个web项目。

服务器,正常情况下就是一台配置高一点的电脑,除非是那种大型的专用服务器。

一般来说,所谓的服务器,就是电脑。

比如我现在有一台电脑,给他装了一个linux系统或者windos系统,然后我说,好了,从今以后,这就是服务器了。现在服务器一般都是用linux系统的。

那么tomcat又是什么?

tomcat其实也是一个应用程序,你网上下载的tomcat往往是一个压缩包,然后我们解压以后就相当于安装好了。

可以这么理解:

服务器就是一台电脑,而tomcat是一个容器,专门存放web项目的容器。

以下我都将tomcat称为tomcat容器。

我们看到在tomcat容器根目录下,有一个webapps文件夹

里面是这样的:

好的,现在我要发布一个项目了,我只需要把一个已经做好的web项目往里面一丢就行了。

除了webapps,我们还发现一个bin目录。一般来说,可执行的文件都放在bin目录下。

打开bin,找到一个startup.bat文件。这就是启动tomcat的东西,双击它,tomcat就被启动了。

然后,浏览器可以访问tomcat里面的项目。在浏览器输入http://127.0.0.1:8080/

现在我们来手工搭建一个web项目,首先,在webapps目录下新建一个文件夹,是的,就是文件夹,不管你项目是什么,肯定还是放在文件夹里面的。

项目名称就叫做webapp。

打开webapp,根据web项目的规范,我们需要有一个WEB-INF文件夹。

然后,在WEB-INF文件夹里面,必须要有一个web.xml文件。

xml文件,就是一个描述性的文件,我现在的观点如下:

XML = JavaBean = Json = HashMap

它无非就是描述一些东西,保存一些数据而已。

好的,我们在里面新建一个web.xml。这个文件非常重要,正因为它的存在,tomcat容器才会知道这个文件夹里面竟然是一个web项目。

否则,tomcat容器是不知道这个web项目的,它只会将myapp文件夹看做是一个文件夹而已。

我们用记事本打开web.xml,将以下代码拷贝进去。


1

2

3

4

5

6

7

8

9

10

11

12

<?xml version="1.0" encoding="UTF-8"?>

<web-app>

  <display-name>web</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>

</web-app>

XML的一个作用就是配置文件,web.xml本身就是一个配置文件。在web项目中,我们应用xml最多的也就是配置一些参数。

配置参数,就是给属性赋值嘛,没什么神秘的。

包括我们学习JavaSE,归根到底,一直在做的一件事就是new对象,然后调用方法,调用方法的目的一方面是做一些事情,另一方面不还是给属性赋值嘛。

你可以把web.xml看做是一个java类,类名叫做 webApp。它里面有两个属性,分别是display-name和welcome-file-list。

display-name是发布名称,也就是项目的名字。
welcome-file-list 是欢迎页面,就是说,当你在浏览器直接访问这个myapp项目,默认跳转的页面。

想象一下,应该会变得非常好理解。

XML就是一个数据描述语言,我们通过web.xml描述这个项目的构成和配置。

好的,接下来,我们是不是要给他一个欢迎页啊。嗯,我们在webapp目录下添加一个简单的欢迎页,里面就打印一个HelloWorld。


1

2

3

4

5

6

7

8

9

10

11

12

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

    <h1>Hello World!</h1>

</body>

</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

这是一条JSP的page指令,如果你用面向对象的思维来看待这个玩意,就是new了一个page对象,并且给它里面的language,contentType,charset,pageEncoding属性分别赋了值。

language表示JSP页面所用的语言,默认是java,其实你写不写都没有关系,因为目前来说JSP它只支持Java。

contentType="text/html; charset=UTF-8":设置页面的内容是文本或者html页面,字符设置为UTT-8。

pageEncoding="UTF-8":页面编码设置为UTF-8。

好的,现在我们在bin目录,双击运行startup.bat

启动完毕。

打开浏览器,在地址栏输入http://localhost:8080/myapp/

回车

哇,是不是出来了。

太棒了。

这就是手工搭建一个web项目的过程。

只要你符合web项目的规范,包括文件夹的名字,文件的名字,就会被tomcat容器识别为一个web项目。

接下来,我们来写服务器代码。

在WEB-INF下面新建一个文件夹,名字叫做classes,这个也是规范,就叫这个名字,否则tomcat容器识别不了。

里面在创建一个java文件,名字就叫Hello吧

用记事本打开,将下面的代码拷贝进去。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Hello extends HttpServlet {

       

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost(request,response);

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("已经进入服务器...");

    }

}

  

这是一个比较简单的HttpServlet 程序,说到servlet,他的意思就是服务器小程序。

原来,在英文中,但凡是let结尾的单词,都有微小的意思。比如servlet,server是服务器,let结尾,那么就是服务器小程序。

servlet是Server Applet的缩写,我们再来看Applet,app是应用程序,又是let结尾,所以应该就是小的应用程序。

我们用命令行的方式将java文件编译成class文件。

在编译之前,我们先去tomcat容器的lib目录找一个jar:

找到servlet-api.jar,复制一份,拷贝到classes目录下。

然后,我们在该classes目录下,按住shift,鼠标右键,选择在此处打开命令行窗口。

输入javac -classpath servlet-api.jar Hello.java

class文件就出来了

再次打开web.xml,我们还需要把这个servlet配上去,不然tomcat怎么知道这个servlet需要加入我们的web项目呢?

web.xml


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<?xml version="1.0" encoding="UTF-8"?>

<web-app>

  <display-name>web</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>

  <servlet>

    <servlet-name>Hello</servlet-name>

    <servlet-class>Hello</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>Hello</servlet-name>

    <url-pattern>/hello</url-pattern>

  </servlet-mapping>

</web-app>

  

双击startup.bat,启动tomcat容器

然后,在浏览器的地址栏输入http://localhost:8080/myapp/hello

发现网页上一片空白,回顾我们的servlet程序,按理说控制台会打印一句话的

看看控制台:

你应该也已经发现了,我们手工搭建web项目的话,是不是很麻烦呀?所以,这也是为什么我们现在都用eclipse,或者MyEclipse来开发项目了。

这些IDE工具就是为了解决手工编译的麻烦而出现的。

补充:参考自https://www.cnblogs.com/skyblue-li/p/5966311.html

原文地址:https://www.cnblogs.com/icemargin/p/12298935.html

时间: 2024-10-16 05:07:04

JavaWeb快速入门的相关文章

JavaWeb快速入门Session&amp;Cookie代码思路篇(七)

Cookie练习 简介 尝试了n种分享代码,最终没有找到好办法.我觉得贴代码,很难看下去.还不如写思路,今后代码篇改成思路篇 Session代码练习 1. 购物车思路 1. ListBookServlet类 1.1 显示该网站所有商品,每个商品加上购买链接(BuyServlet) 用Map集合存储Book对象 map.put("1", new Book("1","JavaWeb开发","老张","一本好书"

JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用

Struts2框架介绍 三大框架:是企业主流JavaEE开发的一套架构.Struts2 + Spring + Hibernate 什么是框架?为什么要学习框架? 框架是实现部分功能的代码(半成品),使用框架简化企业级软件开发. Struts2与MVC? Struts是一款优秀的MVC框架 MVC:是一种思想,是一种模式,将软件分为Model模型.View视图.Controller控制器 JAVAEE软件三层架构:web层(表现层).业务逻辑层.数据持久层(Sun提供javaEE开发规范) Jav

JavaWeb之Mysql快速入门(十一)

MySql快速入门 1. mysql简介 Structured Query Language 结构化查询语言 SQL标准,由ANSI(美国标准学会,属于ISO的核心成员)进行管理和维护的. 数据库厂商都支持该标准,并进行了扩展.扩展的部分,一般称之为方言. SQL标准和方言:普通话和方言 作用:与数据库进行交互 常用数据库:Oracle/DB2/MySQL/SQL Server 2. SQL语句的分类 DDL:Data Definition Language数据定义语言 alert/create

javaweb-html快速入门

本文主要是进行HTML简单介绍(详细的属性查帮助文档就行了,这里主要为快速入门,赶时间,在最短的时间中看明白一个html文件的代码(如果能称之为代码的话)详细的样式表,布局啥的有时间再研究吧) HTML 1.html的简介 1.1,html的全称:HyperText Mark-up Language ,超文本标记型语言,是网页的语言. 超文本:比文本更加强大(后面还会讲到XML,可扩展标记性语言) 标记:就是标签,html所有操作都是通过标签直接或间接的操作(把需要操作的数据通过标签封装起来)

MyBatis学习总结(一)——MyBatis快速入门

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 二.mybatis快速入门 2.1.准备开发环境 1.创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示: 2.添加相应的jar包 [mybat

MyBatis 学习总结 01 快速入门 OLD

一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.mybatis提供一种“半自动化”的ORM实现.这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实

MyBatis学习总结(一)——MyBatis快速入门(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(一)--MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 二.mybatis快速入门 2.1.准备

SpringMVC:学习笔记(1)——理解MVC及快速入门

SprigMVC-理解MVC及快速入门 说明: 传统MVC-->JSPModel2-->Front Controller + Application Controller + Page Controller + Context 三种模式是JavaWeb设计模式的逐渐适配和演进.本文分别讲述了这三种模式,作为了解即可.SpringMVC正是采用了第三种设计模式. MVC 说明 MVC是Xerox PARC在20世纪80年代为编程语言SmallTalk发明的一种软件设计模式. MVC是一种设计模式

【转】MyBatis学习总结(一)——MyBatis快速入门

[转]MyBatis学习总结(一)——MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 二.mybatis快速入门 2.1.准备开发环境 1.创建测试项目,普通jav