关于java-web:每日一篇727ThreadLocal

首先要晓得什么是ThreadLocal.在多线程的环境中,每次进行线程切换都须要进行上下文切换,须要横跨若干办法调用十分的麻烦。Java规范库提供了一个非凡的ThreadLocal,它能够在一个线程中传递同一个对象。以把ThreadLocal看成一个全局Map<Thread, Object>:每个线程获取ThreadLocal变量时,总是应用Thread本身作为key: Object threadLocalValue = threadLocalMap.get(Thread.currentThread());因而,ThreadLocal相当于给每个线程都开拓了一个独立的存储空间,各个线程的ThreadLocal关联的实例互不烦扰。 通过HashCode标识每个线程。能够打消在雷同线程应用间断结构的 ThreadLocals 的常见状况下的抵触。 private final int threadLocalHashCode = nextHashCode();以下是ThreadLocal的API: set()办法,设置以后线程中变量的正本。get()办法,获取 ThreadLocal在以后线程中保留的变量正本。remove()办法,清空以后线程中变量的正本。initialValue()是一个 protected办法,个别是用来重写的,如果在没有set的时候就调用 get,会调用 initialValue办法初始化内容。

July 27, 2022 · 1 min · jiezi

关于java-web:JavaWeb学习记录2JDBC

一、疾速入门 // 1.注册驱动 能够省略不写 //Class.forName("com.mysql.jdbc.Driver"); //2.获取连贯 String url = "jdbc:mysql://127.0.0.1:3306/db1?useSSL=true"; String username = "root"; String password = "root"; Connection conn = DriverManager.getConnection(url, username, password); //3.定义sql String sql = "update dept set loc = '厦门' where id = 10"; //4.获取执行sql的对象statement 其实就是编译 Statement stmt = conn.createStatement(); //5.执行sql int count = stmt.executeUpdate(sql); //6.处理结果 System.out.println(count); //7,开释资源 stmt.close(); conn.close();二、JDBC API详解2.1、DriverManager 作用: 1、用于注册驱动 MySQL 5之后的驱动包,能够省略1注册驱动的步骤,因为程序会主动加载。 2、获取数据库连贯 参数阐明:url:示意连贯的数据库的门路。 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2… 示例:jdbc:mysql://127.0.0.1:3306/db1 留神:1、如果连贯的是本机mysql服务器,并且mysql服务默认端口是3306,则url能够简写为:jdbc:mysql:///数据库名称?参数键值对。 2、配置 useSSL=false 参数,禁用平安连贯形式,解决正告提醒 示例:jdbc:mysql://127.0.0.1:3306/db1?useSSL=false;2.2、Connection ...

March 23, 2022 · 2 min · jiezi

关于java-web:JavaWeb学习记录1MySQL基础

一:SQL分类1:DDL(Data Definition Language)数据定义语言:用来操作数据库和表,次要就是对数据库的增删查操作和对表进行增(Create)删(Retrieve)改(Update)查(Delete)。数据库1、查问所有的数据库SHOW DATABASES;2、创立数据库CREATE DATABASE 数据库名称;3、创立数据库CREATE DATABASE 数据库名称;CREATE DATABASE IF NOT EXISTS 数据库名称; (判断,如果不存在则创立)4、删除数据库DROP DATABASE 数据库名称;DROP DATABASE IF EXISTS 数据库名称; (判断,如果存在则删除)5、应用数据库USE 数据库名称;数据表1、查问表 查问以后数据库下所有表名称 SHOW TABLES; 查问表构造 DESC 表名称;2、创立表 CREATE TABLE 表名 ( 字段名1 数据类型1, 字段名2 数据类型2, … 字段名n 数据类型n (留神:最初一行开端,不能加逗号) );3、数据类型,MySQL 反对多种类型,能够分为三类: 3.1、数值 tinyint :小整数型,占一个字节 int 大整数类型,占四个字节 eg :age int double 浮点类型 应用格局:字段名 double(总长度,小数点后保留的位数) eg :score double(5,2) 3.2、日期 date :日期值。只蕴含年月日 eg :birthday date : datetime :混合日期和工夫值。蕴含年月日时分秒 3.3、字符串 char :定长字符串。 长处:存储性能高 毛病:节约空间 eg : name char(10) 如果存储的数据字符个数有余10个,也会占10个的空间 varchar : 变长字符串。 长处:节约空间 毛病:存储性能低 eg : name varchar(10) 如果存储的数据字符个数有余10个,那就数据字符个数是几就占几个的空间 4 删除表 删除表 DROP TABLE 表名; 删除表时判断表是否存在 DROP TABLE IF EXISTS 表名; 5 批改表 批改表名 ALTER TABLE 表名 RENAME TO 新的表名; -- 将表名student批改为stu alter table student rename to stu; 增加一列 ALTER TABLE 表名 ADD 列名 数据类型; -- 给stu表增加一列address,该字段类型是varchar(50) alter table stu add address varchar(50); 批改数据类型 ALTER TABLE 表名 MODIFY 列名 新数据类型; -- 将stu表中的address字段的类型改为 char(50) alter table stu modify address char(50); 批改列名和数据类型 ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型; -- 将stu表中的address字段名改为 addr,类型改为varchar(50) alter table stu change address addr varchar(50); 删除列 ALTER TABLE 表名 DROP 列名; -- 将stu表中的addr字段 删除 alter table stu drop addr;2:DML(Data Manipulation Language)数据操作语言:DML次要是对数据进行增(insert)删(delete)改(update)操作。1、增加数据 给指定列增加数据 INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…); 给全部列增加数据 INSERT INTO 表名 VALUES(值1,值2,…); 批量增加数据 INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…; INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;2、批改表数据 UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件]; 留神: 1. 批改语句中如果不加条件,则将所有数据都批改! 2. 像下面的语句中的中括号,示意在写sql语句中能够省略这部分3、删除数据 DELETE FROM 表名 [WHERE 条件];3:DQL(Data Query Language)数据查询语言:用来查询数据库中表的记录(数据),DQL简略了解就是对数据进行查问操作。从数据库表中查问到咱们想要的数据。1、查问的残缺语法: SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段 HAVING 分组后条件 ORDER BY 排序字段 LIMIT 分页限定2、根底查问2.1 语法查问多个字段SELECT 字段列表 FROM 表名;SELECT * FROM 表名; -- 查问所有数据去除重复记录SELECT DISTINCT 字段列表 FROM 表名;起别名AS: AS 也能够省略3、条件查问3.1、语法SELECT 字段列表 FROM 表名 WHERE 条件列表; ...

February 25, 2022 · 2 min · jiezi

关于java-web:JavaWeb学习笔记03-JSP

JSP原理浏览器向服务器发送申请,不论拜访什么资源,其实都是在拜访Servlet JSP 实质也是Servlet,实现了HttpServlet 判断申请内置对象(pageContext,session,application,config,out,page,request,response)输入页背后减少的代码在JSP中,JAVA代码会一成不变的输入,HTML会被转为out.write("<html>");的格局输入根底语法引入JSTL表达式依赖包javax.servlet.jsp.jstl 和standard标签库 <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version></dependency><dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version></dependency>表达式:<%= 变量或表达式 %>用来将程序输入到客户端<%= new java.util.Date()%> //Tue Nov 23 21:19:01 CST 2021脚本片段:<% java代码 %><% out.println("test");%>代码嵌入HTML元素: ${}<% for(int i=0;i<10;i++){%> <p>${i}</p><% }%>申明:<%! %>JSP的申明,会被编译到JSP生成的类中;其余会生成到_jspService办法中<%! static { System.out.println("test"); }%>正文:<%-- 正文 --%><%-- JSP的正文,不会在客户端显示 --%>指令:<%@ page %> <%@ include %><%@ page errorPage="error/500.jsp" %> //指定500页面标签 <jsp:include /><jsp:include page="/common/header.jsp"/><%@include %>和<jsp:include /> 的区别:1会合并页面 2不会 内置对象PageContextRequestResponseSessionApplication (ServletContext)Config (ServletConfig)outpageException<% pageContext.setAttribute("name1","Name1");//在一个页面中无效 request.setAttribute("name2","Name2"); //在一次申请中无效 session.setAttribute("name3","Name3"); //在一次对话中无效 application.setAttribute("name4","Name4");//在服务器一次开关中无效%><% //从底层到高层(作用域):page > request > session > application //双亲委派机制: String name1 = (String) pageContext.findAttribute("name1"); String name2 = (String) pageContext.findAttribute("name2"); String name3 = (String) pageContext.findAttribute("name3"); String name4 = (String) pageContext.findAttribute("name4");%><h1>${name1}</h1><h2>${name2}</h2><h3>${name3}</h3><h4>${name4}</h4>EL表达式EL表达式:获取数据,执行运算,获取web开发的罕用对象<jsp:forward page="/test.jsp"> <jsp:param name="name" value="xiaoma"/> <jsp:param name="phone" value="13511112222"/></jsp:forward>EL表达式获取参数:<%= request.getParameter("name")%>EL表达式获取表单数据:${param.参数名}JSTL表达式JSP标签集货,封装了JSP利用的通用外围性能援用外围标签库: ...

November 25, 2021 · 2 min · jiezi

关于java-web:spingmvc入门篇-认识servlet

概述Servlet是javax.servlet.Servlet接口的实现,在web容器中,负责接管、解决、响应。每个Servlet仅有一个实例,第一次解决申请时候被创立。 实现实现javax.servlet.Servlet接口继承javax.servlet.GenericServlet继承javax.servlet.http.HttpServletHttpServlethttp服务,通常都继承HttpServlet,实现了很多http的办法和协定。 个别重写doGet、doPost办法,来别离解决get申请和post申请。办法的参数HttpServletRequest、HttpServletResponse,都是对http的申请和响应的封装。 HttpServletRequestHttpServletResponseServletContextServletContextListenerSpringMVC之servletSpringMVC的servlet实现是,DispatchServlet SpringMVC之容器SpringMVC,实现了ServletContextListener接口,org.springframework.web.context.ContextLoaderListener。监听ServletContext初始化事件,基于创立spring容器(WebApplicationContext)。

June 3, 2021 · 1 min · jiezi

关于java-web:关于Web开发编码那些事儿

一个残缺的申请地址http://[username:password@]www.host.com[/contextPath]/servletPath/pathInfo?name=中国contextPath上下文门路,如果部署在根目录下,则省略上下文门路。 例如:http://localhost/上下文门路/servlet门路/门路信息?name=中国 Request URL: http://localhost/**%E4%B8%8A%E4%B8%8B%E6%96%87%E8%B7%AF%E5%BE%84**/*servlet%E8%B7%AF%E5%BE%84*/**%E8%B7%AF%E5%BE%84%E4%BF%A1%E6%81%AF**?name=*%E4%B8%AD%E5%9B%BD* 办法名称原始值浏览器编码后服务器是否解码解码后getContextPath()contextPath上下文门路%E4%B8%8A%E4%B8%8B%E6%96%87%E8%B7%AF%E5%BE%84否 getServletPath()servletPathservlet门路servlet%E8%B7%AF%E5%BE%84是/servlet门路getPathInfo()pathInfo门路信息%E8%B7%AF%E5%BE%84%E4%BF%A1%E6%81%AF是/门路信息getQueryString()queryStringname=中国name=%E4%B8%AD%E5%9B%BD是name=中国经Firefox 和chrome 测试,中文字符浏览器采纳UTF-8编码并加%。

May 21, 2021 · 1 min · jiezi

关于java-web:Offer收割机阿里P7大牛甩出JSP实战笔记网友信息量过大

Hello,明天给各位童鞋们分享JSP,连忙拿出小本子记下来吧! 应用eclipse开发JavaWeb我的项目为新建Javaweb_yq工作站减少Server实例window > preference>server>Runtime Environment > add 增加本地tomcat所在装置目录 为我的项目MyJspProject 增加 tomcat和jdk反对创立好MyJspProject我的项目 为该我的项目增加tomcat和jdk反对。我的项目右键build path add library 退出以下反对:JRE System Library和APache Tomcat 增加jdk是因为tomcat的字节码文件须要在JVM上运行,而jsp须要tomcat/lib中的servlet-api.jar。该jar可将jsp转为servlet 3.部署tomcat 留神:个别倡议 将eclipse中的tomcat与 本地tomcat的配置信息放弃同步:即 将eclipse中的tomcat设置为托管模式。 操作形式是:【第一次】创立tomcat实例之后, 双击,抉择Server Location的第二项 否则默认是将tomcat备份到我的项目中,配置信息是与tomcat独立的。 Jsp对立字符编码 设置jsp文件的编码,该编码用于Jsp编译成Java文件时,通过jsp文件中的pageEncoding属性设置。 设置浏览器读取jsp文件编码,通过jsp文件中的content属性设置。 个别将上述设置成统一的编码,举荐应用utf-8 文本编码,jsp文件以什么编码模式保留。可有以下三种形式设置: eclipse全工作站设置。如下: 设置某个我的项目 设置独自文件 Jsp的页面元素Jsp页面元素包含:HTML、Java代码(也就是嵌套在脚本中的javadiamante)、指令、正文1.脚本<% 局部变量、java语句 %> 2. <%! 全局变量、定义方法 %> 3. <%= 输入表达式> 源代码: f12所看到的: 留神,out.println()不能回车; 要想回车:“”,即out.print()、 <%= %> 能够间接解析html代码。 指令page指令 language属性:jsp页面应用的脚本语言 import : 导入类 pageEncoding: Jsp 文件翻译成java文件时的编码 contentType:浏览器解析jsp时的编码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Date" %>正文html正文<!-- --> ,能够被客户 通过浏览器查看源码 所察看到 ...

May 8, 2021 · 2 min · jiezi

关于java-web:mybatis-plus内置Service接口方法Ehcache缓存无效

springboot+mybatis 配置缓存Ehcache1.pom.xml 2.ehcache.xmlresources文件夹下ehcache.xml文件 3.mappers.xml自定义缓存ehcache,增加查询方法 4.测试内置Service接口办法和本人增加的查询方法 5.测试后果,内置Service接口办法不走缓存,增加的查询方法,走缓存。

December 24, 2020 · 1 min · jiezi

关于java-web:JavaWeb中实现文件上传的方式有哪些

上回咱们说了下文件下载的形式有哪些,这次咱们从不同的环境下简略来说说文件上传的形式有哪些。 文件上传的形式Servlet2.5 形式Servlet3.0 形式SpringMVC 形式案例实操Servlet2.5 形式文件上传波及到前台页面的编写和后盾服务器端代码的编写,前台发送文件,后盾接管并保留文件,这才是一个残缺的文件上传。 1) 前台页面 在做文件上传的时候,会有一个上传文件的界面,首先咱们须要一个表单,并且表单的申请形式为 POST;其次咱们的 form 表单的 enctype 必须设为”multipart/form-data”即 enctype="multipart/form-data" 意思是设置表单的 MIME 编码。默认状况下这个编码格局是 ”application/x-www-form-urlencoded”,不能用于文件上传;只有应用了 multipart/form-data 能力残缺地传递文件数据。 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>上传文件</title></head><body> <form action="uploadServlet" method="post" enctype="multipart/form-data"> 文件:<input type="file" name="myfile"/> <input type="submit" value="上传" /> </form></body></html> 2) 后盾 commons-fileupload 的应用 首先须要导入第三方jar包,http://commons.apache.org/ 下载 commons-io 和 commons-fileupload 两个jar的资源。解压并导入到我的项目中。commons-fileupload.jar 是文件上传的外围包 commons-io.jar 是 fileupload 的依赖包,同时又是一个工具包。 介绍一下应用到的几个外围类 DiskFileItemFactory – 设置磁盘空间,保留临时文件。只是一个工具类 ServletFileUpload – 文件上传的外围类,此类接管 request,并解析 ServletFileUpload.parseRequest(request); – List 解析 request 1、创立一个 DiskFileItemFactory 工厂类,并制订临时文件和大小 2、创立 ServletFileUpload 外围类,接管临时文件,做申请的转换 3、通过 ServletFileUpload 类转换原始申请,失去 FileItem 汇合 ...

December 22, 2020 · 3 min · jiezi

关于java-web:JavaWeb中实现文件上传的方式有哪些

问题:JavaWeb中实现文件上传的形式有哪些?文件上传的形式Servlet2.5 形式Servlet3.0 形式SpringMVC 形式案例实操Servlet2.5 形式文件上传波及到前台页面的编写和后盾服务器端代码的编写,前台发送文件,后盾接管并保留文件,这才是一个残缺的文件上传。 1) 前台页面 在做文件上传的时候,会有一个上传文件的界面,首先咱们须要一个表单,并且表单的申请形式为 POST;其次咱们的 form 表单的 enctype 必须设为”multipart/form-data”即 enctype=“multipart/form-data” 意思是设置表单的 MIME 编码。默认状况下这个编码格局是 ”application/x-www-form-urlencoded”,不能用于文件上传;只有应用了 multipart/form-data 能力残缺地传递文件数据。 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>上传文件</title></head><body> <form action="uploadServlet" method="post" enctype="multipart/form-data"> 文件:<input type="file" name="myfile"/> <input type="submit" value="上传" /> </form></body></html> 2) 后盾 commons-fileupload 的应用 首先须要导入第三方jar包,http://commons.apache.org/ 下载 commons-io 和 commons-fileupload 两个jar的资源。解压并导入到我的项目中。commons-fileupload.jar 是文件上传的外围包 commons-io.jar 是 fileupload 的依赖包,同时又是一个工具包。 介绍一下应用到的几个外围类 DiskFileItemFactory – 设置磁盘空间,保留临时文件。只是一个工具类 ServletFileUpload – 文件上传的外围类,此类接管 request,并解析 ServletFileUpload.parseRequest(request); – List 解析 request 1、创立一个 DiskFileItemFactory 工厂类,并制订临时文件和大小 2、创立 ServletFileUpload 外围类,接管临时文件,做申请的转换 ...

December 7, 2020 · 3 min · jiezi

关于java-web:第五阶段-第二模块

getmethod第一个参数为办法名,前面两个参数为参数的字节码invoke 第一个参数为调用的对象 前面两个为参数 where 1=1这个条件次要用于 对于不定的拼接项 都是为and结尾 如果没有where 则会产生间接and 这种语法错误 枚举类 SUCCESS(0,"success"),FAIL(1,"fail"); 为返回的两个字段 外面对应的值为成员变量 beanutils这个工具类是用来在servlet中接管前端传过来的数据封装到javabean中的 首先new BeanListHandler<Course>这个会查出全副字段 除了select以外的为null 参数汇合要转为数组

September 27, 2020 · 1 min · jiezi

关于java-web:第五阶段-第一模块

getmethod第一个参数为办法名,前面两个参数为参数的字节码invoke 第一个参数为调用的对象 前面两个为参数 where 1=1这个条件次要用于 对于不定的拼接项 都是为and结尾 如果没有where 则会产生间接and 这种语法错误 枚举类 SUCCESS(0,"success"),FAIL(1,"fail"); 为返回的两个字段 外面对应的值为成员变量

September 25, 2020 · 1 min · jiezi

关于java-web:第四阶段-第二模块

顺次

September 19, 2020 · 1 min · jiezi

关于java-web:案例采用-MVC-设计模式基于三层架构实现学生信息管理系统

需要阐明应用前端、数据库、JavaWeb 等技术并采纳 MVC 设计模式,基于三层架构实现学生信息管理系统其中学生信息有:学号、姓名、性别、出生日期要求:a. 实现用户登陆性能 (判断用户输出的用户名明码和数据库存储的用户名明码是否雷同) 当登陆胜利 跳转到首页显示登陆胜利(页面、数据库表自行设计实现)b.实现用户增加性能(首先跳转到增加页面,将页面表单中填写的内容保留到数据库中)c.应用过滤器对增加用户的申请进行拦挡,判断是否是未登录状态 未登录:跳转到登陆页面 已登陆:放行到指标资源,实现增加操作 提醒:用户登陆时,将用户信息存到session中,过滤器中判断session中有没有用户信息思路整顿 代码目录 注意事项jar包须要放在tomcat工程下的lib文件夹中, 即web->WEB-INF->lib(没有就本人创立,并鼠标右键点击,抉择Add as Library). 肯定不能放在External Libraries. 否则非常容易造成找不到包提交表单时, <form action="">action属性的值须要是 tomcat的工程门路 / 指标Servlet的门路(也就是web.xml中的url-pattern)我的项目地址

September 17, 2020 · 1 min · jiezi

关于java-web:JavaWeb-Servlet生命周期

思维介绍生命周期: 指的是一个对象从生(创立)到死(销毁)的一个过程// 1. Servlet对象创立时, 调用此办法public void init(ServletConfig servletConfig){}// 2. 用户拜访Servlet时, 调用此办法public void service(ServletRequest servletRequest, ServletResponse servletResponse){}// 3. Servlet对象销毁时, 调用此办法public void destroy(){}代码演示LifeServletpublic class LifeServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("Servlet的init办法调用了,该对象被初始化...."); } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("Servlet的service办法调用了, 开始执行业务逻辑...."); } @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("Servlet的destroy办法调用了, 对象被销毁了..."); }}配置web.xml<!-- LifeSevlet --><servlet> <servlet-name>LifeServlet</servlet-name> <servlet-class>com.bigdata.life.LifeServlet</servlet-class> <!-- 配置上该标签,servlet就会在启动服务器的时候去实现实例化, 并进行初始化操作 标签外部须要写数值. 正整数1-3在tomcat的web.xml被应用了, 所以倡议从4开始应用 --> <load-on-startup>4</load-on-startup> <!-- 服务器加载时就进行servlet的初始化操作 --></servlet><servlet-mapping> <servlet-name>LifeServlet</servlet-name> <url-pattern>/lifeservlet</url-pattern></servlet-mapping>

September 17, 2020 · 1 min · jiezi

关于java-web:第四阶段-第一模块

September 14, 2020 · 0 min · jiezi

关于java-web:从零开始学习-JavaWeb-05-Servlet

References: javaweb学习总结(五)——Servlet开发(一) Servlet 概念:上面是搬运,下面的 References 中的链接,该一系列的JavaWeb入门曾经很清晰,如果感觉不能了解自己写的,能够去看看下面JavaWeb系列的文章,编写这个系列文章的大佬写得很清晰了。 Servlet简介 Servlet是sun公司提供的一门用于开发动静web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动静web资源(即开发一个Java程序向浏览器输入数据),须要实现以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 依照一种约定俗成的称说习惯,通常咱们也把实现了servlet接口的java程序,称之为ServletServlet的运行过程 Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet拜访申请后: ①Web服务器首先查看是否曾经装载并创立了该Servlet的实例对象。如果是,则间接执行第④步,否则,执行第②步。 ②装载并创立该Servlet的一个实例对象。 ③调用Servlet实例对象的init()办法。 ④创立一个用于封装HTTP申请音讯的HttpServletRequest对象和一个代表HTTP响应音讯的HttpServletResponse对象,而后调用Servlet的service()办法并将申请和响应对象作为参数传递进去。 ⑤WEB应用程序被进行或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()办法。 占个地位,我前面补全

September 4, 2020 · 1 min · jiezi

关于java-web:从零开始学习-JavaWeb-04-创建JavaWeb

简述: 在后面的文章中,咱们曾经下载并装置 IDEA、Tomcat 和 Maven了。当初来通过IDEA 创立带有 Maven 的 JavaWeb。 创立 JavaWeb:1.创立简略的JavaWeb模板: 1.关上IDEA,抉择上面的选项创立目录. 2.呈现上面的页面,抉择 maven -> 勾选 Create from archetype -> 抉择 org.apache.maven.archetypes:maven-archetype-webapp -> Next. 留神图下第二步下面咱们能够抉择 JDK 版本。蓝色框 的也是一个 webapp, 框出来是为了揭示别选错 webapp. 3.抉择我的项目寄存的目录地位,上面红色框柱的 GroupId、ArtifactId、Version 这几个,我前面补全,如果本人想晓得的,能够先去查别的文档。因为是学习Demo,我间接用默认的。 4.抉择Maven 的版本后,抉择右下角的 FINSH 实现按键,而后上面的配置,我也是前面补全。 5.实现后呈现上面的是因为要装置 依赖/插件,这个时候,咱们能够看到目录构造中是没有 src 文件夹的。装置可能比拟久,不能心急。 6.依赖/插件装置后后,会呈现 src 这个文件夹如果没有,能够按上面进行 ????按住上面图片第一右键文件夹,选中 Reload from Disk, 刷新一下。 ????src的目录构造 2.webapp的创立: 因为这里我不想将 webapp 放在 main 外面,我这里会把 webapp 删除掉,而后在 src 的同级目录下创立先的 webapp. 如果不想看这里的话,能够跳到看下一步。 1.关上 Project Structure, Project Structure 在菜单 Flie 选项上面,咱们能够用快捷键 ⌘ + ; 关上。 ...

September 4, 2020 · 2 min · jiezi