网站设计策划,WordPress国外音乐播放器,在福州做网站,扶风网站建设知识点目标
1、MavenMaven是什么Maven项目的目录结构Maven的Pom文件Maven的命令Maven依赖管理Maven仓库JavaWeb项目
2.网络基础知识
3、ServletMaven
Maven是什么
Maven是Java的项目管理工具#xff0c;可以构建#xff0c;打包#xff0c;部署项目#xff0c;还可以管理…知识点目标
1、MavenMaven是什么Maven项目的目录结构Maven的Pom文件Maven的命令Maven依赖管理Maven仓库JavaWeb项目
2.网络基础知识
3、ServletMaven
Maven是什么
Maven是Java的项目管理工具可以构建打包部署项目还可以管理依赖
为什么要用Maven
1用Eclipse开发java项目能否直接导入IDEA
Maven可以规范项目的目录结构在不同IDE可以直接导入
2自动管理依赖帮助下载jar包
Maven安装
1解压maven
2配置环境变量
我的电脑右键属性—高级系统设置
环境变量 新建环境变量 添加PATH变量 运行cmd输入 mvn -v Maven项目结构
新建Maven项目 设置组id和项目id 点击finish 项目目录结构 1src/main/java 存放Java源码
2src/main/resources 存放资源配置文件
3src/test/java 存放单元测试
4pom.xml 核心配置
pom文件
pom(Project Object Model) 项目对象模型
pom.xml 文件结构
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!-- 项目组id--groupIdcom.hopu/groupId!-- 项目id--artifactIdjavawebdemo/artifactId!-- 版本号--version1.0-SNAPSHOT/version!-- 打包方式 三种jar、war、pom--!-- jar一般项目直接运行或引入到其它项目--!-- war 部署服务器--!-- pom 项目需要被继承--packagingjar/packaging!-- 自定义属性值--properties/properties!-- 依赖--dependencies
!-- dependency--
!-- groupId/groupId--
!-- artifactId/artifactId--
!-- /dependency--/dependencies
/projectMaven的常用命令 Maven的生命周期
clean 清理项目删除之前创建的jar文件validate 打包前验证compile 编译项目源代码编译为字节码test 执行单元测试package 项目打包生成jar、war文件verify 部署前验证install 将打包好的文件安装到仓库中site 站点配置生成报告deploy 部署项目到服务器
Maven的依赖管理
Maven可以帮助开发者管理需要的jar包自动下载依赖包
Maven的仓库
用于保存jar的目录
分为三种
1本地仓库本地存放jar包的目录
2远程仓库在远程服务器上存放jar包
3中央仓库Maven官方仓库
一般下载jar包的流程先看本地仓库是否有jar包有直接返回没有再去远程仓库找找到下载到本地仓库返回没有再去中央仓库找
配置阿里云仓库镜像加速jar包的下载
settings.xml的配置 配置本地仓库的路径
| Default: ${user.home}/.m2/repository
localRepositoryD:/repo/localRepository阿里云镜像mirrorsmirroridalimaven/idnamealiyun maven/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//urlmirrorOfcentral/mirrorOf /mirror
/mirrors打开idea的配置选项 修改Maven的目录以及settings文件 依赖的配置
在pom.xml中配置依赖 !-- 依赖--dependencies!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.20/version/dependency/dependencies项目的继承和聚合
继承
Maven中一个项目可以继承另一个项目
子项目可以继承父项目的依赖、属性等配置
父项目的打包方式必须是pom
子项目指定父项目
parentartifactIdjavawebdemo/artifactIdgroupIdcom.hopu/groupIdversion1.0-SNAPSHOT/version
/parent聚合
一个项目可以包含多个子项目一起打包
!-- 聚合的子模块--
modulesmoduledemo1/modulemoduledemo2/modulemoduledemo3/module
/modules依赖冲突的调解
项目导入jar包时项目中可能会存在同样类型但版本不同的jar包这就是依赖冲突最终导致项目无法运行。
那么Maven是如何解决依赖冲突问题的呢
1最短路径原则
首先我们要知道依赖存在传递性也就是A依赖BB依赖C那么A也依赖C
如果存在下面的情况A同时存在X依赖的1.0和2.0版本按最短路径原则A将使用X2.0版本
A—B—C—X(1.0)
A—D—X(2.0)
2最先声明原则
那么如果路径长度相同怎么办呢按最先声明原则哪个依赖在pom中先出现就使用哪个那么就是X1.0
A—B—X(1.0)
A—D—X(2.0)
使用Maven构建JavaWeb项目
1将项目的打包方式改为war
packagingwar/packaging2打开项目模块设置 2在Facets添加web 点击create artifact 4跳转到aritifact页面 5点击Add Config 添加tomcat配置 6点击configure选择tomcat 7点击deployement 添加部署项目 8删除路径 9点击Facets页面点击红色文字创建webapp目录 10在webapp目录创建index.jsp 11加入html代码 12点击运行tomcat 网络基础知识
JavaWeb也叫JavaEE主要用于开发B/S架构
C/S架构和B/S架构
C/S 架构
Client/Server 客户端/服务器模式
需要安装客户端客户端和服务器进行通信
如QQ、微信、网络游戏等
优点
1客户端性能强大用户体验好
缺点
1单独安装客户端
2经常升级、更新比较麻烦
B/S 架构
Browser/Server 浏览器/服务器模式
不需要安装客户端通过浏览器直接访问服务器
如电商网站、政府网站、企业管理系统、ERP等
优点
1使用方便不需要用户安装客户端不需要更新
缺点
1浏览器性能有限不能呈现复杂的效果
适用于用户人数特别大不需要特别高的视觉效果
HTTP协议
B/S的项目主要通过HTTP协议进行网络通信采用请求/响应模式
用户使用浏览器向服务器发送请求服务器查询后将数据返回给浏览器 HTTP协议的URL有几个部分组成
http://域名:端口/资源路径?参数值
如
https://cn.bing.com/search?qhelloformANNTH1第一部分协议
http://或https://属于协议第二部分域名
cn.bing.com第三部分端口
浏览器默认的端口是80http请求
http请求报文 请求方法
GET 参数会放到URL里面安全性差长度有限只能传输字符串适合查询POST 参数不在URL里面安全性较高长度没有限制数据类型没有限制适合敏感数据大量数据传输PUT 执行更新DELETE 执行删除HEAD 查询头部信息OPTION 查询参数信息TRACE 跟踪操作CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
http响应
http响应报文 常见响应码
200 OK 成功
404 资源没有找到
401 没有通过登录验证
403 没有权限
405 请求方法有错误
400 请求参数格式问题
500 服务器内部异常
503 服务没有找到
Servlet
Servlet是服务器小程序是运行在服务器中的Java程序
入门案例
1导入依赖 dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/version/dependency2简单的Servlet
/*** 自定义Servlet*/
public class MyServlet extends HttpServlet {//处理get请求Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(你访问了GET方法);}//处理post请求Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(你访问了POST方法);}
}3注册
方法1在web.xml中 servletservlet-namemyServlet/servlet-nameservlet-classcom.hopu.servlet.MyServlet/servlet-class/servletservlet-mappingservlet-namemyServlet/servlet-nameurl-pattern/hello/url-pattern/servlet-mapping2、方法2类加注解
WebServlet(/helloworld)
public class HelloWorldServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(Hello World!!);}
}Servlet的生命周期
Servlet的生命周期包含
1实例化由服务器完成是第一次被访问时执行一次
2init() 初始化是第一次被访问时执行一次
3service() 服务客户端每访问一次就会执行一次
4destory() 销毁服务器停止前执行一次 //loadOnStartup-1 第一次访问时初始化 1 启动服务器时初始化
WebServlet(value /helloworld,loadOnStartup 1)
public class HelloWorldServlet extends HttpServlet {public HelloWorldServlet(){System.out.println(HelloWorldServlet实例化);}Overridepublic void init() throws ServletException {System.out.println(HelloWorldServlet初始化);}Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(HelloWorldServlet服务);super.service(req,resp);}Overridepublic void destroy() {System.out.println(HelloWorldServlet销毁);}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(Hello World!!);}
}请求和响应对象
service方法的两个参数
HttpServletRequest 请求对象HttpServletResponse 响应对象
HttpServletRequest 请求对象
方法说明String getParameter(String name)获得请求参数的值setCharacterEncoding(String encode)设置请求编码String getMethod()获得请求方法String getRequestURI()获得请求地址String getHeader(String name)获得请求头
HttpServletResponse 响应对象
方法说明PrintWriter getWriter()获得响应输出流setCharacterEncoding(String encode)设置响应编码setContentType(String type) “text/html;charsetUTF-8”设置内容类型 Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置请求编码req.setCharacterEncoding(UTF-8);resp.setCharacterEncoding(UTF-8);//获得用户传的参数 helloworld?namexxxxage20String name req.getParameter(name);String age req.getParameter(age);//获得请求地址String url req.getRequestURI();//获得输出流PrintWriter writer resp.getWriter();//修改响应的内容类型resp.setContentType(text/html;charsetUTF-8);//向浏览器输出文字内容writer.println(h1请求url url /h1);writer.println(h1Hello!! name -- age /h1);}跳转方式
Servlet可以跳转到其它的服务器对象Servlet/Jsp
有两种方式
1请求转发
2重定向
请求转发
//请求转发
req.getRequestDispatcher(/hello).forward(req,resp);重定向
//重定向
resp.sendRedirect(/hello);区别
1请求转发 URL不变重定向 URL会改变
2请求转发是服务器内部跳转重定向是服务器外部跳转
3请求转发客户端只请求一次重定向需要请求两次转发更快
4请求转发可以携带数据跳转重定向数据会丢失 文章转载自: http://www.morning.xrwtk.cn.gov.cn.xrwtk.cn http://www.morning.wwdlg.cn.gov.cn.wwdlg.cn http://www.morning.ghrhb.cn.gov.cn.ghrhb.cn http://www.morning.zfgh.cn.gov.cn.zfgh.cn http://www.morning.kzcfr.cn.gov.cn.kzcfr.cn http://www.morning.wklrz.cn.gov.cn.wklrz.cn http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn http://www.morning.dnydy.cn.gov.cn.dnydy.cn http://www.morning.txqgd.cn.gov.cn.txqgd.cn http://www.morning.rxkq.cn.gov.cn.rxkq.cn http://www.morning.xknsn.cn.gov.cn.xknsn.cn http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn http://www.morning.jgncd.cn.gov.cn.jgncd.cn http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn http://www.morning.dzfwb.cn.gov.cn.dzfwb.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.stbfy.cn.gov.cn.stbfy.cn http://www.morning.xqcgb.cn.gov.cn.xqcgb.cn http://www.morning.bgdk.cn.gov.cn.bgdk.cn http://www.morning.fjshyc.com.gov.cn.fjshyc.com http://www.morning.dgxrz.cn.gov.cn.dgxrz.cn http://www.morning.tgczj.cn.gov.cn.tgczj.cn http://www.morning.zlhbg.cn.gov.cn.zlhbg.cn http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn http://www.morning.duckgpt.cn.gov.cn.duckgpt.cn http://www.morning.frpb.cn.gov.cn.frpb.cn http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn http://www.morning.wmqxt.cn.gov.cn.wmqxt.cn http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn http://www.morning.ljllt.cn.gov.cn.ljllt.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn http://www.morning.tslfz.cn.gov.cn.tslfz.cn http://www.morning.zlces.com.gov.cn.zlces.com http://www.morning.cbqqz.cn.gov.cn.cbqqz.cn http://www.morning.litao4.cn.gov.cn.litao4.cn http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn http://www.morning.rxhn.cn.gov.cn.rxhn.cn http://www.morning.nrll.cn.gov.cn.nrll.cn http://www.morning.nggry.cn.gov.cn.nggry.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn http://www.morning.ydxg.cn.gov.cn.ydxg.cn http://www.morning.bmnm.cn.gov.cn.bmnm.cn http://www.morning.lhgqc.cn.gov.cn.lhgqc.cn http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn http://www.morning.qdrrh.cn.gov.cn.qdrrh.cn http://www.morning.nhlyl.cn.gov.cn.nhlyl.cn http://www.morning.ghcfx.cn.gov.cn.ghcfx.cn http://www.morning.qfkdt.cn.gov.cn.qfkdt.cn http://www.morning.bauul.com.gov.cn.bauul.com http://www.morning.clqpj.cn.gov.cn.clqpj.cn http://www.morning.cbpmq.cn.gov.cn.cbpmq.cn http://www.morning.shsh1688.com.gov.cn.shsh1688.com http://www.morning.dlwzm.cn.gov.cn.dlwzm.cn http://www.morning.jcxyq.cn.gov.cn.jcxyq.cn http://www.morning.ygth.cn.gov.cn.ygth.cn http://www.morning.jkszt.cn.gov.cn.jkszt.cn http://www.morning.jpnfm.cn.gov.cn.jpnfm.cn http://www.morning.rnxw.cn.gov.cn.rnxw.cn http://www.morning.zrlwl.cn.gov.cn.zrlwl.cn http://www.morning.nhzps.cn.gov.cn.nhzps.cn http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn http://www.morning.xfrqf.cn.gov.cn.xfrqf.cn http://www.morning.xtqr.cn.gov.cn.xtqr.cn http://www.morning.jllnh.cn.gov.cn.jllnh.cn http://www.morning.gychx.cn.gov.cn.gychx.cn http://www.morning.tktcr.cn.gov.cn.tktcr.cn http://www.morning.ngcth.cn.gov.cn.ngcth.cn http://www.morning.pqfbk.cn.gov.cn.pqfbk.cn http://www.morning.bhznl.cn.gov.cn.bhznl.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn http://www.morning.xsbhg.cn.gov.cn.xsbhg.cn http://www.morning.lxmmx.cn.gov.cn.lxmmx.cn