Servlet是一种实现动态页面的技术。是Tomcat提供给程序员的一组API,使程序员更高效的开发wepapp。
创建项目需要用到IDEA,但由于我们写的代码不是在本地上上跑,我们想让它在服务器上运行,所以需要对该程序进行打包部署,这里就需要用到Maven。
Maven是Java中一个非常有名的“构建工具”,用于编译打包代码。
非常方便的是IDEA中内置了maven,所以无需再次手动安装manven。
自动生成的目录结构
我们需要把这个项目会用到的所有依赖(第三方库)引入,即配置到pom.xml中。这个程序写的是Hello_Servlet,所以需要引入Servlet的第三方库~
选择3.1.0版本,这额个版本选择需要与Tomcat的版本对应,我们安装的是Tomcat8,对应的Servlet就是3.1.0~
拷贝其中的代码片段到pom.xml中即可~
实际上一个项目中可能会存在多个依赖,每各依赖都是一个标签,这许多各依赖都放到里面~
此时把代码拷贝过来后,maven就会自动的从中央仓库下载所依赖的jar包到本地,并引入到我们的项目中~
查看下载到本地的第三方库
C:\用户\.m2\repository\javax\servlet\javax.servlet-api\3.1.0
Web项目对于目录结构有以指定要求,除去Maven自动生成,还需要我们手动创建一些完善~这里一定要注意文件目录结构的位置不能出错
向web.xml中拷贝如下代码段,web.xml文件就是Tomcat识别该动态页面的入口文件~
<web-app>
<display-name>Archetype Created Web Applicationdisplay-name>
web-app>
到此就可以正式编写java代码了~我们写的仅是一个Hello_Servlet代码,比较简单,只为了讲述操作方法。
4.1 创建HelloServlet类,并让该类继承自HttpServlet
4.2 重写HttpServlet类的doGet方法
@WebServlet("/hello")
public class Hello_Servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//super.doGet(req, resp);
//逻辑:无论请求是什么,响应都返回一个hello
resp.getWriter().write("hello");
}
}
4.3 需要使用 @WebServlet 注解关联上一个 HTTP 的路径
@WebServlet("/hello")
表示 Tomcat 收到的请求中URL路径为 /hello 这样的路径,就调用 HelloServlet 这个类的代码处理请求~
把写好的代码打包成一个压缩包,方便部署到Tomcat上
5.1 先修改pom.xml,加入一些必要的配置
<packaging>warpackaging> //指定打包的类型:war
<build> //指定打包的名字:Hello_Servlet
<finalName>Hello_ServletfinalName>
build>
5.2 打包操作
双击package后开始打包.
打包成功后会得到一个war格式的压缩包.
6.1 找到本地文件中的war压缩包
war包 右键 -> Show in Explorer -> 得到指定文件目录
6.2 将war包拷贝到Tomcat的webapps目录中即可(注意不是ROOT目录下),此时Tomcat会自动识别并解压该war包,无需重启~
通过浏览器来访问该动态页面进行验证
手动拷贝war包到webapps的部署过程较为繁琐,可以借助第三方插件Smart Tomcat来代替这个过程~
安装成功后重启IDEA即可~
点击下图标志,就能运行程序了(打包 + 部署)