• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Maven的使用

武飞扬头像
二十多岁想退休
帮助1

一、相关应用介绍

  1. Maven简介

1.1浅谈Maven理解

Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。Maven的过程:构建项目->维护依赖->编译 打包 发布应用。

就像我们自己做饭一样,我想做一道菜,要买盐,食材,调料等,这样购买起来比较麻烦,所以如果有一家商店可以直接购买到打包好的材料,直接放到锅里就可以,Maven就像是这个商店,他把我们程序所需要的各种jar包、依赖关系等,都写入到了配置文件中,我们直接对配置文件进行相应的修改就可以。

1.2tomcat简介

简单总结下,tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tpmcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。

tomcat所做的事情主要有:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。

二、部署tomcat、创建Java Web项目

  1. IDEA部署tomcat

1.将网络下载好的tomcat文件解压放在硬盘中。

2.在IDEA中选择:

Configure > Setting > Build,Execution,Deployment > Application Servers >Tomcat Server

学新通

3.然后选择tomcat的安装位置

学新通
  1. IDEA创建JavaWeb项目

新建一个Maven项目,IDEA中选择File > new project > Maven 选择图下所示内容

学新通

让后填写项目的名称,项目路径

学新通

选择本地安装的Maven路径

学新通

创建好项目之后,手动创建java文件夹和resources文件(如果有则不需要创建)

学新通
  1. 在IDEA中发布web项目

点击右上角的 点击Add Configuration按钮 新版为 Edit Configuration

学新通

添加一个新的配置,选择好Tomcat配置

学新通

选择刚刚配置好的tomcat

学新通

点击Deployment部署项目

学新通
学新通
学新通

项目部署完成,启动tomcat

学新通

页面成功显示

学新通

三、有关Servelt

  1. 为什么使用Servelt

Serlvet是以java技术为基础,运行于服务器端的应用程序组件。它处理请求信息,并将结果发送到客户端。Servlet的客户端可以提出请求并获得该请求的响应,客户端可以是任何Java程序、浏览器或设备。

Servlet的主要功能: 根据客户端请求动态返回整个HTML页面 可以与服务器上的其他资源进行通信,包括数据库、其他java应用程序以及使用其他语言编写的应用程序。 处理与多个web客户端的连接,接收来自多个web客户端输入的信息,并将结果发送到相应的web客户端。 响应对web客户端上applet的个别连接,并保持连接处理找开状态,允许在这个单一连接上进行多种数据传递。

  1. 使用Servelt实现需求

需求分析

在页面实现注册功能,将信息写入到数据库中

实现注册后的登录功能

前端页面

登录的页面的设计

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
    <head>
  4.  
    <meta charset="UTF-8">
  5.  
    <title>Title</title>
  6.  
    </head>
  7.  
    <body>
  8.  
    <form action="login" method="post">
  9.  
    用户名:<input type="text" name="username"><br>
  10.  
    密码: <input type="password" name="passwd1"><br>
  11.  
    <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="重置">
  12.  
    </form>
  13.  
    </body>
  14.  
    </html>

使用Servelt时,我们提交的表单,所以我们要在表单中添加动作,<form action = "login">其中login字段是与java代码中webservlet相对应。post则是请求方式,请求方式有增删改查,对应着put、delete、post、get;其中put、delete、post统称为post,如果不设置请求方式的话,那么在地址栏中会显示出自己的用户名、密码,影响隐私。

注册页面的设计

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
    <head>
  4.  
    <meta charset="UTF-8">
  5.  
    <title>11111</title>
  6.  
    </head>
  7.  
    <body>
  8.  
    <form action="register" method="post">
  9.  
    用户名:<input type="text" name="username"><br>
  10.  
    密码: <input type="password" name="passwd1"><br>
  11.  
    确认密码:<input type="password" name="passwd2"><br>
  12.  
    <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="重置">
  13.  
    </form>
  14.  
    </body>
  15.  
    </html>
学新通

实体类的设计

  1.  
    package com.m.enity;
  2.  
     
  3.  
    public class Mtest {
  4.  
    private int id;
  5.  
    private String username;
  6.  
    private String passwd;
  7.  
     
  8.  
    public Mtest() {
  9.  
    }
  10.  
    public Mtest(int id, String username, String passwd) {
  11.  
    this.id = id;
  12.  
    this.username = username;
  13.  
    this.passwd = passwd;
  14.  
    }
  15.  
     
  16.  
    public int getId() {
  17.  
    return id;
  18.  
    }
  19.  
     
  20.  
    public void setId(int id) {
  21.  
    this.id = id;
  22.  
    }
  23.  
     
  24.  
    public String getUsername() {
  25.  
    return username;
  26.  
    }
  27.  
     
  28.  
    public void setUsername(String username) {
  29.  
    this.username = username;
  30.  
    }
  31.  
     
  32.  
    public String getPasswd() {
  33.  
    return passwd;
  34.  
    }
  35.  
     
  36.  
    public void setPasswd(String passwd) {
  37.  
    this.passwd = passwd;
  38.  
    }
  39.  
    }
学新通

Dao层的设计

  1.  
    package com.m.dao;
  2.  
     
  3.  
    import JDBC.Jdbc;
  4.  
    import com.m.enity.Mtest;
  5.  
     
  6.  
    import java.sql.ResultSet;
  7.  
     
  8.  
    public class MtestDao extends Jdbc {
  9.  
    public int adduser(String username,String passwd){
  10.  
    int i = 0;
  11.  
    String sql = "insert into mtest(username,passwd) values('" username "','" passwd "')";
  12.  
    System.out.println(sql);
  13.  
    try {
  14.  
    i = this.update(sql);
  15.  
    } catch (Exception e) {
  16.  
    throw new RuntimeException(e);
  17.  
    }
  18.  
    return i;
  19.  
    }
  20.  
    public Mtest logins(String username, String passwd1){
  21.  
    Mtest m = null;
  22.  
    ResultSet rs = null;
  23.  
    String sql = "select * from mtest where username='" username "' and passwd='" passwd1 "'";
  24.  
    try {
  25.  
    rs = this.find(sql);
  26.  
    while (rs.next()) {
  27.  
    m = new Mtest(rs.getInt("id"),rs.getString("username"),rs.getString("passwd") );
  28.  
    }
  29.  
     
  30.  
    } catch (Exception e) {
  31.  
    throw new RuntimeException(e);
  32.  
    }
  33.  
    return m;
  34.  
    }
  35.  
    }
学新通

登录Server层的设计

  1.  
    package com.m.server;
  2.  
     
  3.  
    import com.m.dao.MtestDao;
  4.  
    import com.m.enity.Mtest;
  5.  
     
  6.  
    import javax.servlet.ServletException;
  7.  
    import javax.servlet.annotation.WebServlet;
  8.  
    import javax.servlet.http.HttpServlet;
  9.  
    import javax.servlet.http.HttpServletRequest;
  10.  
    import javax.servlet.http.HttpServletResponse;
  11.  
    import java.io.IOException;
  12.  
     
  13.  
    @WebServlet(value = "/login")
  14.  
    public class LoginServer extends HttpServlet {
  15.  
    MtestDao md = new MtestDao();
  16.  
    @Override
  17.  
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  18.  
    req.setCharacterEncoding("UTF-8");
  19.  
    resp.setCharacterEncoding("UTF-8");
  20.  
    resp.setContentType("text/html;charset=utf-8");
  21.  
    String username = req.getParameter("username");
  22.  
    String password = req.getParameter("passwd1");
  23.  
    Mtest m = null;
  24.  
    m = this.md.logins(username, password);
  25.  
    if(m == null){
  26.  
    resp.getWriter().write("登录失败");
  27.  
    }else {
  28.  
    resp.getWriter().write("登录成功!/");
  29.  
    }
  30.  
    }
  31.  
    }
学新通

注册Server层的设计

  1.  
    package com.m.server;
  2.  
     
  3.  
    import com.m.dao.MtestDao;
  4.  
     
  5.  
    import javax.servlet.ServletException;
  6.  
    import javax.servlet.annotation.WebServlet;
  7.  
    import javax.servlet.http.HttpServlet;
  8.  
    import javax.servlet.http.HttpServletRequest;
  9.  
    import javax.servlet.http.HttpServletResponse;
  10.  
    import java.io.IOException;
  11.  
     
  12.  
    @WebServlet("/register")
  13.  
    public class MtestServer extends HttpServlet {
  14.  
     
  15.  
    MtestDao md = new MtestDao();
  16.  
     
  17.  
    @Override
  18.  
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  19.  
    req.setCharacterEncoding("UTF-8");
  20.  
    resp.setCharacterEncoding("UTF-8");
  21.  
    resp.setContentType("text/html;charset=utf-8");
  22.  
     
  23.  
    String username = req.getParameter("username");
  24.  
    String passwd1 = req.getParameter("passwd1");
  25.  
    String passwd2 = req.getParameter("passwd2");
  26.  
     
  27.  
    if(passwd1.equals(passwd2)){
  28.  
    this.md.adduser(username,passwd1);
  29.  
    resp.getWriter().println("注册成功!");
  30.  
    }else{
  31.  
    resp.getWriter().println("注册失败!");
  32.  
    }
  33.  
    }
  34.  
    }
学新通

Server层继承自HttpServlet,重写其中的service方法,其中req是输入,将页面的表单信息送入到我的java程序中,resp是输出,将我的内容写入到页面上。

前文提到的@WebServlet("/register");则会响应到对应的java代码

四、JavaScript

  1. 为什么使用JavaScript语言

JavaScript用于控制网页内容,实现网页浏览者与网页内容之间的交互,这种交互的实现直接发生在客户端,并不需要与Web服务器之间进行数据通信,因此将获得极高的响应速度。

  1. JavaScript语言具体的实现

JS可以卸载HTML的任意位置中,使用< scipt>< /script>标签将JavaScript脚本,嵌入到页面中。当游览器读取到网页中的< script>标签时,将以指定脚本语言的方式解释执行,而不是以普通的HTML文本进行处理。

实现的方式有两种:

a.直接嵌入

  1.  
    <script type="text/javascript">
  2.  
    document.write("欢迎使用JavaScript编写页面特效")
  3.  
    </script>

b.使用外部JavaScript文件

使用外部JavaScript文件就是以单独的文件存放JavaScript代码,并将其后缀命名为.js。一般会创建一个js文件夹用来存放外部js文件,外部js文件的名称和对应的网页名称相同

  1.  
    步骤:
  2.  
    a、创建外部js文件
  3.  
    b、在html页面中引用外部js文件
  4.  
    <script language=“javascript” src="外部js文件">

3.函数

1.函数的基本用法

在javascript中定义函数必须以function关键字开头。

  1.  
    语法:
  2.  
    function 函数名(参数列表){
  3.  
    函数代码块
  4.  
    [return 表达式]
  5.  
    }

函数的表达式

JavaScript的函数也是一个对象,上述定义的函数实际上是一个函数对象,而函数名可以视为指向该函数的变量

  1.  
    语法:
  2.  
    left f = function(参数列表){
  3.  
    函数体
  4.  
    有返回值,直接使用return value;
  5.  
    };
  6.  
    调用函数:
  7.  
    f(参数);

在这种方式下,function (x) { … }是一个匿名函数,它没有函数名。这个匿名函数赋值给了变量f,所以,通过变量f就可以调用该函数。 调用函数 f();

箭头函数

  1.  
    //箭头函数
  2.  
    let f =(num)=>{
  3.  
    console.log(num);
  4.  
    };
  5.  
    //调用函数
  6.  
    f(10);

2.事件

JavaScript是基本对象、采用事件驱动的脚本语言。在DOM模型中,通过鼠标或按钮在浏览器窗口或网页上执行的操作称为事件(event)。例如用鼠标单击网页上的某个按钮,则该按钮发生了鼠标的单击事件,按钮就是事件源。事件不仅产生于与用户交互的过程中,还产生于浏览器的自身动作。例如浏览器载入页面时会发生load事件,关闭页面时会发生unload事件。如果将一段程序与各件事件源发生的事件相关联,事件发生时,浏览器将自动执行相关联的程序代码,执行的过程即为事件驱动。 对事件进行处理的程序或函数,被称为事件处理程序,它是响应事件的动作。通常情况下,处理事件的程序被封装到函数中,然后将函数与对象事件关联在一起。

2.1事件的注册方式

2.1.1标签中定义事件

  1.  
    <input type=”button” onclick=”sayHi()” value=”sayHi”/>
  2.  
    <script type="text/javascript">
  3.  
    function sayHi(){
  4.  
    alert("hello");
  5.  
    }
  6.  
    </script>

2.1.2通过不同的时间属性定义事件

  1.  
    <input type=”button” id="btn" value=”sayHi”/>
  2.  
    <script type="text/javascript">
  3.  
    document.getElementById("btn").onclick=function(){
  4.  
    alert("hello");
  5.  
    }
  6.  
    </script>

2.1.3通过addEventListener定义事件

  1.  
    <body>
  2.  
    <button id="btn">say hi</button>
  3.  
    </body>
  4.  
    <script type="text/javascript">
  5.  
    document.getElementById("btn").addEventListener("click", function(){
  6.  
    console.log("目标元素被点击了");
  7.  
    });
  8.  
    </script>

3.实现

要求:通过点击事件,让屏幕中的数字累计

  1.  
    <!DOCTYPE html>
  2.  
    <html>
  3.  
    <body>
  4.  
    <div id="num"></div>
  5.  
    <button onclick="doAdd()">累加分数</button>
  6.  
    </body>
  7.  
    <script type="text/javascript">
  8.  
    document.getElementById("num").innerText = 0;
  9.  
     
  10.  
    function doAdd(){
  11.  
    var num = document.getElementById("num").innerHTML;
  12.  
    document.getElementById("num").innerText = parseInt(num) 1;
  13.  
    }
  14.  
    </script>
  15.  
    </html>
学新通

实现效果

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghchkg
系列文章
更多 icon
同类精品
更多 icon
继续加载