7.22实习培训日志-JSP Servlet

周末总结

今天下午在学习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

原文地址:https://www.cnblogs.com/sufferingStriver/p/9403442.html