周末总结

今天下午在学习servlet,想自己做一个简单的例子,于是用idea新建一个maven项目,为了后文叙述方便,我们取名为项目1,点击create from archetype,我先选择org.apache.maven.archetypes:maven.-archetype-webapp,用这个webapp模板,然后后面发现没有servlet服务器,Tomcat,Jetty之类的服务器。所以我就想找一个maven有服务器的模板,于是我又重新选择了一个模板,创建一个项目,我们取名为项目2,这一次是org.apache.cocoon:cocoon-22-archetype-webapp,这一次创建的项目有maven-jetty-plugin插件,我就把它移到我项目1中pluginManagement,然后不知道运行什么命令,我又到项目2中右侧maven projects中plugins插件发现有jetty插件,而项目1中没有,为什么没有,我想到了昨天卡了一天的事情,为了把第三方依赖jar包打入,我需要把用第三方依赖的jar包,放在/denpendency下,并在jar中的MANIFEST.MF中指定ClassPath在/denpendency下,这样就可以直接运行了,但是我把maven-denpendency-plugin插件移到pluginManagment中也没有出现在右侧右侧maven projects中plugins插件中,而且我用的phase package也没有效果,我当时猜测可能是由于denpendency没有运行的原因。而现在又遇见了这个问题,在网上搜索了一阵子后,发现Intellij 如果让Maven projects 中显示maven plugins,我灵光一现,把maven-jetty-plugin放在plugins中,然后在右侧刷新一下,发现plugins中有了jetty插件,而后我在dependency中也这样弄,完全ok。

JSP Servlet

JSP

JSP概述

  1. JSP是一种脚本语言
  2. JSP拥有java所有特性
  3. JSp运行在JSP容器中(Tomcat,Jetty)
  4. JSP会被转换成Servlet

jsp执行过程

  1. 客户端请求jsp网页
  2. jsp容器将jsp文件转译成servlet文件
  3. jsp容器将servlet文件编译成class文件并执行。
  4. 创建servlet实例,并执行jspInit()方法
  5. 然后创建一个新的线程,新线程调用实例的jspService()方法。
  6. 最后将HTML返回给客户端。

Tomcat是Servlet、jsp参考实现。

Web服务器:IIS,Apache

Servlet

Servlet概述

servlet

  1. servelt applet服务端小程序
  2. 是一个特殊的Java类
  3. 和HTTP紧密联系

Maven Jetty插件

<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>

运行jetty:run

7.22实习培训日志-JSP Servlet的更多相关文章

  1. 7.21实习培训日志-JDBC JSP Servlet

    JDBC JSP Servlet 总结 今天早上的考试主要考Java的网络,HttpClient的get,post方法,Socket的文件传输和Xml和Json文件的解析,对于HttpCLient很简 ...

  2. 7.30实习培训日志-SQL优化

    总结 今天早上考试,下午主要是老师引导我们学习SQL优化,晚上主要是同学的技术分享,杨松柏同学主要给我们分享了java的io的一些东西,c10k问题,bio(同步阻塞IO),NIO(同步非阻塞IO), ...

  3. 7.27实习培训日志-Oracle SQL(三)

    Oracle SQL(三) 视图 特性 简单视图 复杂视图 关联的表数量 1个 1个或多个 查询中包含函数 否 是 查询中包含分组数据 否 是 允许对视图进行DML操作 是 否 CREATE [OR ...

  4. 7.24实习培训日志-Docker-Compose

    Docker-Compose 对于昨天的考试,需要 项目根目录下需要docker/mysql/Dockerfile 文件用于构建mysql镜像 项目根目录下需要docker/java/Dockerfi ...

  5. 7.23实习培训日志-JDBC

    总结 今天下午考试,JDBC,这个本身很简单,但是需要我们Dockerfile+Docker Compose运行,这个东西就很复杂.原来学习时没有怎么看,这一次就很懵,完全不知道怎么弄,反正环境都没有 ...

  6. 7.19实习培训日志- java进阶

    java进阶 java集合 Collection List ArrayList jdk1.2,异步处理,性能高,线程不安全 Vector jdk1.0,同步处理,性能低,线程安全 Set HashSe ...

  7. 7.10实习培训日志-markdown Git

    父模块github地址 一. markdown 1. markdown列表 html是一种发布的格式,markdown是一种书写的格式 区块引用 列表 图片 表格 html 标题 记笔记 写博客 2. ...

  8. 7.11实习培训日志-Git Linux

    Git git子模块 先在GitHub创建两个空的respository,一个super_project和一个sub_project. 然后在git bash中向库中写入一些文件. 在super_pr ...

  9. 7.31实习培训日志-docker sql

    docker mysql docker问题 今天问了老师有关docker的问题,entrypoint和cmd的区别,两者同时存在cmd的执行结果会被当做参数传入entrypoint. dockerfi ...

随机推荐

  1. 使用jQuery Ajax功能的时候需要注意的一个问题

    每次jquery的Ajax请求都会创建一个xmlHttprequest对象,理论上讲,长连接(页面需要和服务器保持长连接,而且在连接超时后需要重新请求连接)的请求是一个无限递归,请求数量是非常大的,但 ...

  2. java常用的基础容器

    1 Vector and ArrayList 它们都是可以随机访问的.它们的区别是Vector是线程安全的,而ArrayList不是线程安全的. 2 HashMap的底层实现机制 2.1 底层数据结构 ...

  3. 连通性 保证f具有介值性质

  4. API的理解和使用——单线程架构

    核心知识点: 1.单线程机制:所有命令放在一个队列中 2.为什么Redis单线程这么快?内存中执行.非IO阻塞.避免线程切换和竞态产生的消耗. 3.单线程的问题?一个命令不能执行太长时间,不然会阻塞其 ...

  5. Java一致性的实现

    一致性     内存模型 每一个线程有一个工作内存和主存独立 工作内存存放主存中变量的值的拷贝     Happen Before 1.程序次序规则:在一个单独的线程中,按照程序代码的执行流顺序,(时 ...

  6. 计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  7. Android Weekly Notes Issue #276

    September 24th, 2017 Android Weekly Issue #276 本期内容包括LifeCycle与Architecture的相关文章,以及新的JSON解析库Moshi的介绍 ...

  8. DOM的构建与优化

    一.构建模块 HTML描述了一个页面的结构.浏览器会将它转换成一种他们能够理解的格式——文档对象模型(DOM),浏览器引擎有一段特殊的代码叫做解析器,将数据从一种格式转换成另外一种格式. 一个HTML ...

  9. react-native 支持 gif 图片

    只需要在android/app/build.gradle中的dependencies字段中添加: compile 'com.facebook.fresco:animated-gif:0.13.0' 然 ...

  10. myeclipse 安装flex插件后变为中文 修改配置文件切换到英文界面

    解决办法: 1. cmd 敲命令进入安装目录,运行myeclipse.exe -nl en后,启动为英文 在安装目录下新建txt,改名为myeclipse.bat,将上面那行命令写入保存,再发送快捷方 ...