完成一个JavaWeb项目的全过程(从软件安装到代码)

第一大步骤:软件安装教程;

1.eclipse安装

https://www.cnblogs.com/ForestDeer/p/6647402.html

2.tomcat安装

https://blog.csdn.net/u014543872/article/details/79568712

3.数据库安装

http://www.cnblogs.com/sshoub/p/4321640.html

4.Sqlyang破解版下载

http://www.onlinedown.net/soft/24926.htm

第二大步骤:

1.如何利用eclipse创建一个java web项目?

https://blog.csdn.net/qq_25646191/article/details/78776136

2.根据教程实现一个完整的javaweb项目

https://www.cnblogs.com/optblogs/p/7880996.html

3.javaweb学习路线

https://www.cnblogs.com/aishangJava/p/5970576.html

https://blog.csdn.net/yl1712725180/article/details/79329865

第三步骤:我最近的学习感受+一个程序详解+知识点

模块一:

I.简介JavaWEB程序

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

不同的是,QQ是一个本地客户端程序,它需要你在自己的电脑上安装一个客户端,然后你打开QQ,可以登录,聊天。

QQ肯定也分客户端和服务端,我们电脑上装的就是客户端,你要知道的一点是,我们发送消息,发送到哪里去了呢?

没错,肯定是发送到QQ的服务器上了,那里保存着我们的所有数据。

想想也不可能在本地,因为我们在电脑上发送的消息,在手机QQ上不是也能看到吗?这就说明,肯定是上传到它的服务器然后保存下来了。

而Web项目是什么呢?

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

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

这个就是我们的访问路径,我们通过这个URL向简书的服务器提交请求,然后服务器进行处理,给你回应。

接下来,我们就看到出来一个网页。

我们在这个网页上可以写文章,点赞,收藏,等等。

我们的每一步操作,其实都和服务器做了一个交互。

比如一个登录功能,当我们鼠标点击那个登录按钮,浏览器就向服务器提交了一个请求,服务器进行处理,然后操作数据库。最终,它会得出一个结果,就是说,到底能不能让你登录,总会有个说法。

如果你密码写错了,它可能就会得出一个用户名或密码错误的结论。然后,这个信息会从服务器返回到前台,前台就是浏览器。

所谓的前台就是你的浏览器,没什么神秘的。

前台接受到后台传过来的信息后,进行一些处理,然后给你个提示,比如,告诉你用户名或密码错误。

这就是一个完整的交互过程。

现在随着网速越来越好,浏览器的性能越来越强大,我想web肯定是未来的大趋势。毕竟,谁都不希望在电脑上安装一大堆客户端吧。

只用一个浏览器多好。

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

II.不建议一开始就看视频,先把那些基础理论知识过一次,心里有点踏实了,到了需要敲大量代码的阶段再看视频。

模块二:抬头看路

Javaweb学习总结

http://www.cnblogs.com/xdp-gacl/p/3729033.html

Java Web项目开发到底需要掌握哪些技术?

https://blog.csdn.net/javaniuniu/article/details/51880901

零基础如何系统学习Java Web?

https://www.zhihu.com/question/31151832

模块三:知识点

javaweb制作流程的形象理解

1.有关数据库的知识点:

 【MYSQL的概述】

  • 什么是数据库:

数据库就是一个文件系统,需要通过标准SQL语句才能访问.

 

【MYSQL的安装和卸载】

安装和卸载的过程记录下服务器安装的路径和数据文件存放的路径.卸载的时候将这个两个路径下的文件一并都删除掉.

【创建数据库】

语法:

    * create database 数据库名;

【查看数据库】

* 查看数据库服务器中的所有的数据库:show databases;

【删除数据库】

* drop database 数据库名称;

【修改数据库】

* alter database 数据库名 

【其他的数据库操作命令】

* 切换数据库:use 数据库名;

* 查看正在使用的数据库:select database();

【创建表】

create table 表名(

   字段名 类型(长度) 约束,

   字段名 类型(长度) 约束

);

单表约束:

    * 主键约束:primary key

    * 唯一约束:unique

    * 非空约束:not null

创建一个分类表:

    分类ID int类型主键 自动增长

    分类名称 字符串类型 长度20

create table category(

    cid int primary key auto_increment,

    cname varchar(20)

);

 

***** 注意:建表之前一定先选择数据库.

【查看表】

查看数据库中的所有表:show tables;

查看表结构:desc 表名;

【删除表】

drop table 表名;

【修改表】

alter table 表名 add 列名 类型(长度) 约束;     --修改表添加列.

alter table 表名 modify 列名 类型(长度) 约束;  --修改表修改列的类型长度及约束.

alter table 表名 change 旧列名 新列名 类型(长度) 约束;  --修改表修改列名.

alter table 表名 drop 列名;                  --修改表删除列.

rename table 表名 to 新表名;                 --修改表名

【插入记录】

语法:

* insert into 表 (列名1,列名2,列名3..) values  (值1,值2,值3..); -- 向表中插入某些列

* insert into 表 values (值1,值2,值3..); --向表中插入所有列

【修改记录】

语法:

* update 表名 set 字段名=值,字段名=值 [where 条件];

【删除记录】

语法:

* delete from 表名 [where 条件];

【查询记录】

语法:

* select [distinct]*[列名,列名] from 表 [where 条件].

创建商品表:

创建商品表:

create table products(

    pid int primary key auto_increment,

    pname varchar(20),

    price double,

     pnum int,

     cno int,

    pdate timestamp

);

【多表查询】

  • 交叉连接查询(基本不会使用-得到的是两个表的乘积)

语法:

* select * from A,B;

2.有关前端页面的知识点:

【HTML的概述】

  • 什么是HTML

HTML:Hyper Text Markup Language 超文本标记语言

l  超文本:比文本功能更加强大

l  标记语言:通过一组标签对内容进行描述的一门语言

  • 为什么学习HTML

HTML是设计页面基础

  • 在哪些地方可以使用HTML

设计页面的时候都可以使用HTML

  • 如何使用HTML

HTML的语法和规范

l  HTML文件的扩展名是.html或者是.htm

l  HTML文件是由头和体组成

l  HTML这组标签是不区分大小写

l  HTML的标记通常是由开始标签和结束标签组成:<b>内容</b>  <br/>

【HTML的字体标签】

<font>标签

<font 属性名=”属性值”>文字</font>

l  size:控制字体大小.最小1 最大7

l  color:控制字体颜色. 使用英文设置 ,使用16进制数设置

l  face:控制字体.

【HTML的排版标签】

<hn>标题标签

<h1>b标题</h1>

<p>段落标签

<p>一段文字</p>

<br/>换行标签

<br/>代表换行

<hr/>水平线标签

<b>字体加粗

<b>文字</b>

<i>斜体标签

<i>斜体</i>

【HTML的图片标记】

<img />

l  src:图片的路径

l  width:图片宽度

l  height:图片的高度

l  alt:图片提示

图片路径:

l  分成相对路径和绝对路径

l  相对路径:

n  ./  :代表当前路径

n  ../ :代表上一级路径

【超链接标签】

<a>超链接</a>

l  href:超链接跳转的路径

l  target:打开方式

n  _self:在自身页面打开

n  _blank:打开一个新窗口

表格的属性:

l  border  :表格边框

l  width   :表格宽度

l  height  :表格高度

l  align   :水平方向对齐方式 left center right

l  bgcolor :背景色

 3.使用JDBC完成对于分类的CRUD的操作

【JDBC的回顾】

  • JDBC的概念:

JDBC:Java Data Base Connectivity.

  • 驱动:

 

  • JDBC的开发步骤:

步骤一:注册驱动.

步骤二:获得连接.
    步骤三:创建执行SQL语句对象.

步骤四:释放资源.

  • JDBC的API的详解:

DriverManager:

    * 注册驱动:

    * 获得连接:

Connection:

    * 获得执行SQL语句对象.

        * Statement createStatement();

        * PreparedStatement prepareStatement(String sql);

        * CallableStatement prepareCall(String sql);

    * 进行事务管理:

        * setAutoCommit(boolean flag);

        * commit();

        * rollback();

Statement:

    * 执行SQL语句:

        * int executeUpate(String sql); --执行insert update delete语句.

        * ResultSet executeQuery(String sql); --执行select语句.

        * boolean execute(String sql); --执行select返回true 执行其他的语句返回false.

 

ResultSet:

    * 遍历结果集:next();

    * 获得结果集中的数据.getXXX(int c); getXXX(String name);

  1 package com.itheima.jdbc.utils;
  2 
  3 import java.io.FileInputStream;
  4 import java.io.FileNotFoundException;
  5 import java.io.IOException;
  6 import java.sql.Connection;
  7 import java.sql.DriverManager;
  8 import java.sql.ResultSet;
  9 import java.sql.SQLException;
 10 import java.sql.Statement;
 11 import java.util.Properties;
 12 
 13 /**
 14  * JDBC的工具类
 15  * @author apple
 16  *
 17  */
 18 public class JDBCUtils {
 19     public static final String DRIVERCLASS;
 20     public static final String URL;
 21     public static final String USERNAME;
 22     public static final String PASSWORD;
 23     
 24     static{
 25         // 获得属性文件中的数据.
 26         Properties properties = new Properties();
 27         try {
 28             properties.load(new FileInputStream("src/db.properties"));
 29         } catch (FileNotFoundException e) {
 30             e.printStackTrace();
 31         } catch (IOException e) {
 32             e.printStackTrace();
 33         }
 34         
 35         DRIVERCLASS = properties.getProperty("jdbc.driverClass");
 36         URL = properties.getProperty("jdbc.url");
 37         USERNAME = properties.getProperty("jdbc.username");
 38         PASSWORD = properties.getProperty("jdbc.password");
 39     }
 40     
 41     // 加载驱动:
 42     public static void loadDriver(){
 43         try {
 44             Class.forName(DRIVERCLASS);
 45         } catch (ClassNotFoundException e) {
 46             // TODO Auto-generated catch block
 47             e.printStackTrace();
 48         }
 49     }
 50     
 51     // 获得连接:
 52     public static Connection getConnection(){
 53         loadDriver();
 54         Connection conn = null;
 55         try {
 56             conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
 57         } catch (SQLException e) {
 58             // TODO Auto-generated catch block
 59             e.printStackTrace();
 60         }
 61         return conn;
 62     }
 63     
 64     // 释放资源:
 65     public static void release(Statement stmt,Connection conn){
 66         if(stmt != null){
 67             try {
 68                 stmt.close();
 69             } catch (SQLException e) {
 70                 // TODO Auto-generated catch block
 71                 e.printStackTrace();
 72             }
 73             stmt = null;
 74         }
 75         
 76         if(conn != null){
 77             try {
 78                 conn.close();
 79             } catch (SQLException e) {
 80                 e.printStackTrace();
 81             }
 82             conn = null;
 83         }
 84     }
 85     
 86     public static void release(ResultSet rs,Statement stmt,Connection conn){
 87         if(rs!= null){
 88             try {
 89                 rs.close();
 90             } catch (SQLException e) {
 91                 e.printStackTrace();
 92             }
 93             rs = null;
 94         }
 95         if(stmt != null){
 96             try {
 97                 stmt.close();
 98             } catch (SQLException e) {
 99                 // TODO Auto-generated catch block
100                 e.printStackTrace();
101             }
102             stmt = null;
103         }
104         
105         if(conn != null){
106             try {
107                 conn.close();
108             } catch (SQLException e) {
109                 e.printStackTrace();
110             }
111             conn = null;
112         }
113     }
114 }
代码实现之抽取工具类:

4. 什么是XML

XML全称为Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5">
 3     <servlet>
 4         <servlet-name>HelloMyServlet</servlet-name>
 5         <servlet-class>cn.itcast.HelloMyServlet</servlet-class>
 6     </servlet>
 7     <servlet-mapping>
 8         <servlet-name>HelloMyServlet</servlet-name>
 9         <url-pattern>/hello</url-pattern>
10     </servlet-mapping>
11 </web-app>
配置文件
1 <?xml version="1.0" encoding="UTF-8"?>
2 <persons>
3     <person id="p001">
4         <name>张三</name>
5     </person>
6     <person id="p002">
7         <name>李四</name>
8     </person>
9 </persons>
存放数据

1.1.1.1   XML 语法

l  XML文档声明

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

  1. 文档声明必须为<?xml开头,以?>结束;
  2. 文档声明必须从文档的0行0列位置开始;
  3. 文档声明只有三个属性:

a)       versioin:指定XML文档版本。必须属性,因为我们不会选择1.1,只会选择1.0;

b)       encoding:指定当前文档的编码。可选属性,默认值是utf-8;

c)        standalone:指定文档独立性。可选属性,默认值为yes,表示当前文档是独立文档。如果为no表示当前文档不是独立的文档,会依赖外部文件。

l  元素

<servlet>

  1. 元素是XML文档中最重要的组成部分,
  2. 普通元素的结构开始标签、元素体、结束标签组成。例如:<hello>大家好</hello>
  3. 元素体:元素体可以是元素,也可以是文本,例如:<b><a>你好</a></b>
  4. 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合,例如:<c/>
  5. 元素命名:

a)       区分大小写

b)       不能使用空格,不能使用冒号:

c)        不建议以XML、xml、Xml开头

  1. 良好的XML文档,必须有一个根元素。

l  属性

<web-app version="2.5">

  1. 属性是元素的一部分,它必须出现在元素的开始标签中
  2. 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引
  3. 一个元素可以有0~N个属性,但一个元素中不能出现同名属性
  4. 属性名不能使用空格、冒号等特殊字符,且必须以字母开头

l  注释

XML的注释与HTML相同,即以“<!--”开始,以“-->”结束。注释内容会被XML解析器忽略!

l  转义字符

XML中的转义字符与HTML一样。

因为很多符号已经被XML文档结构所使用,所以在元素体或属性值中想使用这些符号就必须使用转义字符,例如:“<”、“>”、“’”、“””、“&”。

5.Servlet

【Servlet的概述】

  • 什么是Servlet:

是运行在服务器端的一小的Java程序,接收和响应从客户端发送请求.

  • Servlet的作用:

处理客户端的请求,并且对请求作出响应.

  • 使用Servlet:

Servlet的入门:

* 编写一个类实现Servlet接口.

public class ServletDemo1 implements Servlet{

 

    @Override

    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {

        // System.out.println("");

        response.getWriter().println("Hello Servlet...");

    }

...

}

 

* 配置Servlet到WEB服务器.

  <!-- 配置Servlet -->

  <servlet>

    <!-- Servlet的名称 -->

    <servlet-name>aaa</servlet-name>

    <!-- Servlet的类的全路径 -->

    <servlet-class>com.itheima.servlet.demo1.ServletDemo1</servlet-class>

  </servlet>

 

  <!-- 配置Servlet的映射 -->

  <servlet-mapping>

    <!-- Servlet的名称 -->

    <servlet-name>aaa</servlet-name>

    <!-- Servlet的访问路径 -->

    <url-pattern>/servletDemo1</url-pattern>

  </servlet-mapping>

猜你喜欢

转载自www.cnblogs.com/daisy99lijing/p/10091948.html
今日推荐