从零开始的,servlet就不得不写。好不容易成功的,太晚了,大概记录下。好多框架是基于servlet,这个原理还是要懂的。

一、工程的创建参照上一篇文章。123123:教你 java 从零开始 1、intelliJ idea (hello wrold)

完成后的工程目录如下:

修改pom.xml的 jdk的版本,我的默认1.7,改 1.8吧

几个注意点:

1、tomcat_local 和remote的区别是,local是随IDEA时启动 ,remote是手动启动,idea用

远程tomcat需要开启jmx。在startup.bat中添加如下内容,并替换hostname为远程服务器ip,有一些异步的调试要这样弄。

2、war还是war exploded

  • war模式这种可以称之为是发布模式,看名字也知道,这是先打包war包,再发布;
  • war exploded模式是直接把文件夹,jsp页面,classes等等移到Tomcat部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
  • 在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来

二、pom.xml添加依赖

需要注意的是scope都要设置为provided,因为接下来使用maven-tomcat容器运行,这2个组件tomcat中已存在,所以不需要打包

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>

三、pom.xml添加bulid-plugins

<plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8080</port><charset>${project.build.sourceEncoding}</charset><server>tomcat7</server></configuration></plugin>
</plugins>

编译命令:mvn compile

打包命令:mvn package

运行命令:mvn tomcat7:run

如果不能New Class

IntelliJ IDEA 中 右键新建时,选项没有Java class的解决方法和具体解释https://blog.csdn.net/qq_36838191/article/details/80721415

项目配置

1、创建classes 和 lib

classes文件夹用于存放编译后的class文件(不须要手动处理)。lib用于存放依赖的jar包(须要手动存放jar包)

在WEB-INF目录下新建两个文件夹,分别命名未classes和lib(classes目录用于存放编译后的class文件,lib用于存放依赖的jar包)

说明:如何配置tomcat在这里就不进行赘述了。值得注意的一点是。如果在配置tomcat的过程中指定了项目的访问根路径,例如下面:

那么我们的项目访问路径则会为:http://localhost:8080/web/HelloServlet

如果没有配置,则访问路径为:http://localhost:8080/HelloServlet

(3)修改web.xml文件内容:在webapp标签内部加上以下内容:

  <servlet><servlet-name>HelloServlet</servlet-name><servlet-class>HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/HelloServlet</url-pattern></servlet-mapping>

至此,servlet简易程序完毕。

idea导入servlet包还是显示红色_还是从servlet 开始吧,hello servlet相关推荐

  1. excel负数显示红色_如何更改Excel显示负数的方式

    excel负数显示红色 Microsoft Excel displays negative numbers with a leading minus sign by default. It is go ...

  2. r语言glmnet包系数显示不全_第一章: R语言介绍

    1:R语言的用途 R也是一种为统计计算和绘图而生的语言和环境,R是一个全面的统计研究平台,提供了各式各样的数据分析技术. 2:R语言的使用 R语句由函数和赋值构成,命令提示符为 > ⑴赋值: R ...

  3. python导入自定义包时无法导入自己定义的包

    python导入自定义包时 显示找不到包,如下图 处理方法如下: 点击文件夹选择工作目录 点击后就可以正常导包啦

  4. eclipse导入jar包_在命令行上操作JAR,WAR和EAR

    eclipse导入jar包 尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务. 当 ...

  5. 关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法

    关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法 参考文章: (1)关于servlet类,继承HttpServlet,但是无法导入HttpServ ...

  6. Java中apple导入那个包_在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是()。A.java.appletB.java.awtC.j...

    在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是().A.java.appletB.java.awtC.j 更多相关问题 问卷星是一个专业.无限制的免费在线问卷调查.测评. ...

  7. python导入外部包_您会喜欢的10个外部Python软件包

    python导入外部包 by Adam Goldschmidt 亚当·戈德施密特(Adam Goldschmidt) 您会喜欢的10个外部Python软件包 (10 External Python p ...

  8. golang导入git包_使用go module导入本地包的方法教程详解

    go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...

  9. 怎么导入sklearn包_在导入sklearn包是报错

    相信大家经常会遇到这种情况,在导入sklearn包时或者其他包时报错ImportError: cannot import name __check_build 此种情况的原因一般为包之间不兼容的问题导 ...

最新文章

  1. adb 重命名_Linux操作系统:三种最基本的文件重命名方法
  2. 网易云信项望烽:开源最初都是被动的
  3. 宝塔面板php降级,宝塔面板6.8.8降级到5.9.1的方案教程
  4. 【BZOJ 4169】 4169: Lmc的游戏 (树形DP)
  5. MyBatis之Mapper动态代理开发
  6. [蓝桥杯]2019年第十届省赛真题C/C++ B组 填空+大题
  7. 经典最短路算法的原理启示
  8. 3D数字孪生大屏怎么做?你需要了解这款数据可视化软件
  9. 传奇LEG引擎武器衣服发光特效计算方式【适用于新blue/gob/goh/886m2等引擎通用】
  10. 华为手表表盘的数字什么意思_华为gt2表盘上的数字是什么意思
  11. php还原时间戳,如何将php时间戳转换回日期
  12. Blender 插件开发 添加快捷键
  13. mybatis事务原理与集成spring的事务原理
  14. 1.用 perf report 分析四个for进程
  15. 判断正方形和圆形相交
  16. 用Python的turtle画一个正方形圆形五角星
  17. fast虚拟服务器ip地址设置,迅捷路由器静态ip怎么设置_迅捷固定IP地址怎么设置?-192路由网...
  18. linux如何更改密钥环密码,Linux系统教程:Ubuntu桌面上禁用默认的密钥环解锁提示...
  19. element方法的自定义参数传参方式
  20. 深度图+灰度图 可视化判断灰度图区域是否有深度

热门文章

  1. centos 去除屏幕保护
  2. Learning to Rank入门小结 + 漫谈
  3. PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)
  4. 在windows上搭建redis集群(主从复制)
  5. elasticsarch6.5.4安装插件 searchguard和elasticsearh-head插件安全性问题
  6. Windows下Subversion配置管理员指南
  7. 怎样在Swift中使用NSError
  8. 微软2017校招笔试题3 registration day
  9. CodeForces 592C The Big Race
  10. Quartz调用大全