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概述
- JSP是一种脚本语言
- JSP拥有java所有特性
- JSp运行在JSP容器中(Tomcat,Jetty)
- JSP会被转换成Servlet
jsp执行过程
- 客户端请求jsp网页
- jsp容器将jsp文件转译成servlet文件
- jsp容器将servlet文件编译成class文件并执行。
- 创建servlet实例,并执行jspInit()方法
- 然后创建一个新的线程,新线程调用实例的jspService()方法。
- 最后将HTML返回给客户端。
Tomcat是Servlet、jsp参考实现。
Web服务器:IIS,Apache
Servlet
Servlet概述
servlet
- servelt applet服务端小程序
- 是一个特殊的Java类
- 和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