将servlet手动编译并部署到本地tomcat服务器

        因为对servlet部分内容以及代码的部署相关内容有挺多不了解的地方,所以最近学习了servlet相关的内容,这篇文章记录下将开发的servlet进行手动编译(通过javac命令,不使用IDE)并部署到本地tomcat服务器中的步骤,主要是学习和体会servlet编译、部署的整个过程。

一、将编写的servlet类进行编译

        编译是在windows系统的cmd命令窗口中使用javac命令进行编译。

        对servlet进行编译时因为要依赖servlet-api.jar包,因此在命令行窗口中先引入servlet-api.jar包,该包在tomcat安装目录的bin目录下;

        使用 set classpath = tomcat\bin\servlet-api.jar 命令将jar包引入(在任何路径下执行命令都可以,并且此设置命令只在本窗口生效):

        jar包路径比较长,可以在资源管理器中直接将jar包文件拖拽到命令行窗口中就能自动填充jar包的路径

        接下来就可以到编写的servlet类所在的目录进行编译了,我这里是为了查看方便,将原servlet.java文件复制到了工程所在的目录下,那么在这个目录进行编译,编译生成的包路径以及class文件就会在该路径下,其中包路径为代码中这个类最上面package所声明的包路径。当然也可以直接在servlet.java源码文件所在的位置进行编译,那么编译后的包路径就和ava源码所在路径同级。

        使用命令 javac -encoding utf8 -d . servletName.java 对servletName.java进行编译,如果没有报错的话那么就说明编译成功了。

        

        javac命令中的 -encoding utf8 是指定使用utf8字符集进行编译,默认是使用gbk进行编译,默认字符集可能会报错;

        -d . 是指带包编译,即会给编译后的.class文件创建和java类最上面package所声明的包路径相同的路径。

        如图为编译后生成的class文件,且生成了和servlet.java文件所声明的相同的包路径:

        

二、将编译后的class文件部署到tomcat服务中

        因为tomcat对部署的项目包路径有指定要求,即项目路径需要为:tomcat\webapps\projectName\WEB-INF\classes,同时如果有web.xml文件的话需要将web.xml从工程代码中复制到 projectName\WEB-INF 目录下,如下图:

        

        这里要说下,web.xml是配置servlet 访问路径等配置的文件,如果使用@WebServlet注解方式进行声明,则web.xml文件是可以省略的,因为默认是开启注解的。      

        因此需要先在tomcat\webapps目录下创建项目名称对应的路径,此名称即为项目访问时的上下文,如我将项目名命名为:\firstServlet,则部署后访问的地址即为:http://localhost:8080/firstServlet/xxx;

        接下来需要将上一步编译生成的包路径以及class文件复制到 projectName\WEB-INF\classes 路径下;

        

三、启动tomcat并访问servlet

        执行 tomcat\bin 目录下的 startup.bat 批处理文件启动tomcat,启动完成后即可进行访问。

         

        我在 web.xml 文件的 url-pattern 中配置的访问路径为 /login,再结合webapps下创建的项目文件名称为 firstServlet,因此可以通过访问:http://localhost:8080/firstServlet/login 即可访问到 FirstServlet.class中的内容。

        web.xml文件内的配置信息:        

         

        访问servlet:                

        再附上servlet代码:

package com.zyk.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author
 * @Class:
 * @Description:
 * @date 2022/2/8 14:27
 */
public class FirstServlet extends HttpServlet {

	//Post请求,向网页写入一些内容
	public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html;charset=utf-8");	//TODO 字符集名称大小写
		PrintWriter writer = resp.getWriter();
		writer.write("欢迎访问我的第一个servlet测试");
		writer.close();
	}

	//Get请求,向网页写入一些内容
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html;charset=utf-8");	//TODO 字符集名称大小写
		PrintWriter writer = resp.getWriter();
		writer.write("欢迎访问我的第一个servlet测试");
		writer.close();

	}
}

        好了,以上就是本地进行servlet手动编译和部署到tomcat的步骤,虽然内容还很粗糙也不全面,但是记录的目的就是为了加深对所学内容的印象,如果同时对其他人能有所帮助的话,那更好不过了。

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat是一个开源的Java Servlet和JSP容器,用于部署Java Web应用程序。如果你有一个编译好的JAR(Java Archive)文件想要部署Tomcat上,可以按照以下步骤操作: 1. **准备JAR文件**:确保你的JAR文件包含了Web应用的所有类、资源和配置。这通常包括Java类、XML配置文件(如web.xml)、静态资源(如图片、CSS、JavaScript)。 2. **解压或复制到webapps目录**: - **在Tomcat安装目录下的webapps目录下创建一个新的文件夹**,例如`/webapps/myapp` - 将你的JAR文件解压到这个新创建的文件夹,或者直接将JAR内的`WEB-INF`目录及其内容复制到该文件夹下。`WEB-INF`目录包含web.xml和其他应用配置。 3. **web.xml配置**: - 如果JAR中的web.xml文件不是标准的,你可能需要手动编辑`myapp/web.xml`,确保它配置了正确的Servlet和filter信息,以及Context路径(`<Context path="..." ...>`)。 4. **启动Tomcat**: - 启动你的Tomcat服务器,访问`http://localhost:8080/myapp`(假设默认端口8080和Context路径),如果一切正常,你应该能看到你的Java应用运行。 5. **检查日志**: - 在Tomcat的日志文件中(通常是`catalina.out`或者`logs`目录下的其他文件)查看是否有错误信息,以确保部署成功且没有报错。 **相关问题--:** 1. Tomcat支持哪些类型的部署? 2. 如何查看Tomcat的默认端口? 3. 除了JAR部署Tomcat还支持哪些其他部署方式?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值