博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用IDEA构建Maven/Web项目
阅读量:3944 次
发布时间:2019-05-24

本文共 5926 字,大约阅读时间需要 19 分钟。

文章目录

1.创建空白项目

注意:路径不要包含特殊字符、中文等,尽量不要放在C盘(可能会因为文件操作权限导致一些操作失败)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.IDEA中的Maven配置

1.配置(注意:最好两个都配置)

在这里插入图片描述
在这里插入图片描述
2.检查maven配置文件和maven本地仓库路径是否正确
在这里插入图片描述

3.在空白项目中新建Maven项目(可创建多个项目)

1.选择New Module

在这里插入图片描述

2.选择maven项目

在这里插入图片描述

3.表示唯一的依赖包 —— 填写GroupId(机构名称)、ArtifactId(一般和项目名称一致)、Version(项目版本)

注意:路径要在空白项目路径下

在这里插入图片描述

4.检查是否创建成功

在这里插入图片描述

5.在pom.xml文件中添加项目所需依赖,如下图添加成功:
注意:添加完成后,IDEA 中的 maven 会自动帮我们进行依赖 jar 包的下载,所以要保证网络连接是可用的。

在这里插入图片描述

4.相关内容介绍

4.1构建生命周期(maven生命周期)

通常,我们理解的工程构建,可以被区分成不同的生命周期(Lifecycle)和阶段(Phase)。

其中 maven 把各个阶段都做了各自的映射。

(一) 阶段简单介绍

  1. compile 编译阶段
  2. test 测试阶段
  3. package 打包阶段
  4. deploy 部署阶段

在这里插入图片描述

在这里插入图片描述

(二) 测试

  1. 初始test-maven目录结构:
    在这里插入图片描述
  2. 双击compile,生成target文件夹。
    在这里插入图片描述
    在这里插入图片描述
  3. 一般maven项目目录结构
    在这里插入图片描述

4.2查找依赖包顺序

1.从本地仓库找;

2.本地如果没有,从远程仓库找。
在这里插入图片描述

4.3项目打包

1.默认打包格式ArtifactId-Version.jar

在这里插入图片描述
2.自定义打包格式:在pom.xml中指定打包格式,刷新完点击package,可以在target文件夹下看到自定义打包格式.jar文件。

自定义打包格式
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
UTF-8

在这里插入图片描述

3. 打包类型(默认jar包),可以自定义指定类型,例如:打包成war包。

war

在这里插入图片描述

注意:此时maven-test已经默认为web项目,但是缺少web项目所需资源文件夹。

5.基于Maven构建Web项目

1.项目右键–>Open Moudel Setting–>双击红色路径,点击ok,系统自动在src/main下创建webapp文件夹

在这里插入图片描述

在这里插入图片描述
2.复制web资源文件夹路径 --> 点击+ --> 修改web.xml文件路径,点击ok -->点击Appy,系统自动在src/main/webapp/WEB-INF生成web.xml文件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
3.测试:在webapp下创建index.html文件,并打包(maven-test.war),将打好的war包复制到apache-tomcat-8.5.54\webapps\下,启动tomcat。

    
第一个web项目

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

段落标签使用p表示,是paragraph的缩写

用户名:
密码:

补充:index.html可以直接在浏览器打开。

6.启动Tomcat

6.1启动本地Tomcat

apache-tomcat-8.5.54为例

1.修改编码,在conf/logging.properties文件中修改(建议修改,防止乱码)

    在这里插入图片描述
2.修改访问端口(默认8080),在conf/server.xml文件中修改(建议修改,防止端口号冲突)
    在这里插入图片描述
3.启动Tomcat,双击bin/startup.bat

在这里插入图片描述

4.测试:访问ip或域名:端口号/资源路径 (资源路径是想相对于webapps文件夹的路径)eg:http://127.0.0.1:9999/maven-test/index.html

在这里插入图片描述
在这里插入图片描述
注意:如果输入用户名和密码并点击登录,网页显示404:

在这里插入图片描述

在这里插入图片描述

6.2补充Tomcat文件夹

apache-tomcat-8.5.54\

        bin\ 存放各种启动、停止脚本的。.sh 是以后在 linux 上用的,.bat 是在 windows 上用的
                startup.bat 启动服务,双击即可使用
        conf\ 相关的配置文件,目前我们不用关心
        lib\ 运行 tomcat 需要的类库,我们不关心
        logs\ 运行时的日志文件,我们有时需要查看日志,来发现定位一些问题
        temp\ 临时文件夹,不关心
        webapps\ 存放我们要运行的 web application 的文件夹,对于我们最常用的一个文件夹
        work\ Tomcat 内部进行预编译的文件夹,我们不关心
        下面都是一些文档
        BUIDING.txt
        CONTRIBUTING.md
        LICENSE
        NOTICE
        README.md
        RELEASE-NOTES
        RUNNING.txt

webapps 下的文件结构:(每个文件夹都对应着一个 web 应用,所以可以在浏览器中分别访问,端口未修改默认8080)

在这里插入图片描述

  • Tomcat 文件夹下的 webapps,是 web applications 的简称,意思是用来存放 web 应用的文件夹。
  • 文件夹的名称和 url 有对应关系,除了 ROOT 表示是根应用,不需要前缀外,其余都是跟着文件夹名称。
  • 如果 url 以文件夹结尾,默认访问的是 index.html 或者 index.jsp

6.3程序测试

index.html

    
第一个web项目 首页

login.html

    
登录 用户登录
用户名:
密码:

LoginServlet

package com.xiaobai;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/** * 通过http请求路径/login 映射到Servlet中配置的路径相关联 * @WebServlet 必须以/开头 */@WebServlet("/login")public class LoginServlet extends HttpServlet {
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");//设置请求数据编码:请求体请作用,url中的数据无效 resp.setCharacterEncoding("UTF-8");//设置响应数据编码 resp.setContentType("text/html; charset=UTF-8"); //告诉浏览器:1.数据类型(处理数据的方式) 2.编码(浏览器解析数据的编码) //getParameter获取url或请求体中的数据,根据key获取value,获取不到为null //接收的请求数据类型,可以是application/x-www-form-urlencoded String username = req.getParameter("username"); String password = req.getParameter("password"); PrintWriter pw = resp.getWriter();//获取响应输入流 if("abc".equals(username)&&"123".equals(password)){
pw.println("登录成功"); }else {
pw.println("登录失败"); } pw.flush(); }}

TestServlet

package com.xiaobai;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/test")public class TestServlet extends HttpServlet {
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");//设置请求数据编码:请求体请作用,url中的数据无效 resp.setCharacterEncoding("UTF-8");//设置响应数据编码 resp.setContentType("text/html; charset=UTF-8"); //告诉浏览器:1.数据类型(处理数据的方式) 2.编码(浏览器解析数据的编码) //演示400、301/302/307重定向、转发 //模拟方式:请求http://localhost:8080/项目部署名/test?i= PrintWriter pw = resp.getWriter();//获取响应输入流 String i = req.getParameter("i"); if("1".equals(i)){
//重定向 302 resp.sendRedirect("index.html"); }else if("2".equals(i)){
//转发 req.getRequestDispatcher("index.html").forward(req,resp); }else {
//如果是int 正常返回;如果不是 返回400 try {
Integer.parseInt(i);//可以解析为int 正常返回 pw.println("正确数值:"+i); } catch (NumberFormatException e) {
//非int 返回400 resp.setStatus(400); pw.println("错误!非数值:"+i); } } pw.flush(); }}

Tomcat处理流程分析:

测试结果:

6.4Tomcat和Servlet的关系

Servlet是jdk提供的一套http处理的规范,tomcat实现了它。

在不同web服务器中运行Servlet时,就是每个web服务器自己基于Servlet标准的实现。

7.DEA配置

7.1数据库连接配置

1.从idea的database面板打开数据库驱动配置

在这里插入图片描述
以上在IDEA中没有看到面板的,点击view->Tool WIndow Bars,或是在view->Appearance->Tool Window Bars点击可以看到左右侧的面板,面板中没有database选项的,点击view->Tool Windows->Database

2.配置数据库驱动

在这里插入图片描述
修改数据库版本
在这里插入图片描述
在这里插入图片描述
3.打开数据库连接配置
在这里插入图片描述

4.配置数据库连接

在这里插入图片描述
在这里插入图片描述
5.执行sql语句
在这里插入图片描述
在这里插入图片描述
6.查看数据库表结构及数据
在这里插入图片描述

7.2IDEA编码设置

在这里插入图片描述

在这里插入图片描述

7.3Tomcat部署项目自动发布设置

1.IDEA中tomcat配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.项目部署并自定义项目部署名
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

转载地址:http://pejwi.baihongyu.com/

你可能感兴趣的文章
sql-数据库操作
查看>>
推荐CTR预估-几个基础模型FM \FFM\GBDT+LR
查看>>
推荐系统基础
查看>>
redis
查看>>
word2vec参数
查看>>
python的collections
查看>>
LDA和PCA
查看>>
推荐分解:介绍SVD、SVD++
查看>>
FM详解
查看>>
二叉树遍历
查看>>
推荐方法的比较
查看>>
LDA主题模型
查看>>
《集体智慧编程》-优化算法
查看>>
hadoop和spark详解
查看>>
推荐之召回和排序
查看>>
基于社交的推荐
查看>>
Lookalike理解
查看>>
vscode插件
查看>>
MTL多任务学习-Multitask Learning
查看>>
graph-embedding
查看>>