周末总结

今天下午在学习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. 【总结】图论小总结【题解】P1330封锁阳关大学

    [题解][总结]P1330 封锁阳光大学 &&图论小总结 这道题其实有一点点难度,不过我能经过思考做出来说明还是没有普及组\(D1T1\)难度的. 考虑一条边的两边要有且仅有一个点被选 ...

  2. python数据分析之Pandas:基本功能介绍

    Pandas有两个主要的数据结构:Series和DataFrame. Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签构成.来看下它的使用过程 In [1]: from  ...

  3. PHP接口中的静态变量、常量与类中静态变量、常量的区别

    接口: 1 不能够定义静态变量(常量除外) 2 定义的常量 const YOUCONST = VALUE,不能在子类中覆盖,在子类中以 interfaceName::YOUCONST的方式调用 3 不 ...

  4. (转)source insight 窗口嵌入

    昨天用了一下source insight ,都说很强大,也有感觉,但是这个强大的东西往往不是那么容易弄清楚的,或者一下子就好上手的,工具强大,功能复杂多样,一开始不知道怎么入手,以后慢慢来吧,学习是要 ...

  5. Java for LeetCode 102 Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  6. [2018-05-27]配置VSTS认证方式使用Personal Access Token

    本文介绍下如何配置VSTS(visual studio team service,其实就是微软SaaS版的TFS)通过Personal Access Token访问其下的Git代码库. 问题 使用gi ...

  7. NISP:一级取证

    NISP:一级取证 BrupSuite工具的使用 设置浏览器代理 flag{C0ngratulati0n} flag{LMvBi8w9$m1TrgK4} flag{T4mmL9GhpaKWunPE} ...

  8. PAT 甲级 1005. Spell It Right (20) 【字符串】

    题目链接 https://www.patest.cn/contests/pat-a-practise/1005 思路 因为 n <= 10^100 所以 要用字符串读入 但是 100 * 100 ...

  9. Quartz的misfire理解

    misfire用于Trigger触发时,线程池中没有可用的线程或者调度器关闭了,此时这个Trigger变为misfire.当下次调度器启动或者有可以线程时,会检查处于misfire状态的Trigger ...

  10. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...