手动部署Servlet

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动部署Servlet相关的知识,希望对你有一定的参考价值。

配置Tomcat环境变量

下载tomcat 的 zip,解压。例如解压到E盘根目录,E:\\apache-tomcat-8.0.35

 

配置Tomcat环境。 新建环境变量。

    变量名:    CATALINA_HOME

    变量值:  E:\\apache-tomcat-8.0.35

 

 

手动新建一个Web应用

在webapps下新建一个目录hand,代表web 应用的名称。

按照规范,hand应用的目录树如下,都需要手动建立

 

CATALINA_HOME
     --webapps
          --hand
               --WEB-INF
                    --classes         //存放我们的Servlet 和 其他java工具类
                    --lib             //存放应用需要的第三方jar文件,如JDBC驱动,jsp tag
                    --web.xml         //应用程序的配置描述文件
 
               --css                  //保存css
               --js                   //保存js
               --images               //保存图片
               --jsps                 //jsp

 

 

编写Servlet

我们把servlet在 包中:com.example,所以还需要在classes 下建com目录, 然后在com 下建 example

最终classes目录如下

--WEB-INF
         --classes
                --com
                    --example

 

然后编写servlet ,保存到 classes\\com\\example下。

//file name :WelcomeServlet.java

package
com.example; // import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/WelcomeServlet") public class WelcomeServlet extends HttpServlet { private static final long serialVersionUID = 1L; public WelcomeServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.print("<h1 style=\\"text-align:center\\">welcome</h1>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

 

 

 

编译Servlet

打开终端,进入hand应用的classes下的WelcomeServlet.java目录。

 

javac WelcomeServlet.java -cp CATALINA_HOME/lib/servlet-api.jar     //不出意外,就会在同一个目录下生成 WelcomeServlet.class文件

 

技术分享

 

 

web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">

  <display-name>hand</display-name>
  <discription>this is a simple demo</discription>
    

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>


<!--给定位在com.example.WelcomeServlet 这个指定的Servlet取一个名称: WelcomeServlet -->
  <servlet>
      <servlet-name>WelcomeServlet</servlet-name>
      <servlet-class>com.example.WelcomeServlet</servlet-class>  
  </servlet>

<!--给WelcomeServlet 设定URL映射,使之能拥有指定的访问路径
/ 代表当然应用的根目录
--> <servlet-mapping> <servlet-name>WelcomeServlet</servlet-name> <url-pattern>/welcome.html</url-pattern> </servlet-mapping> </web-app>

 

 

启动Tomcat,访问

在启动前确保Tomcat是关闭的,可以 先 执行shutdown 一下。

 

技术分享

 

以上是关于手动部署Servlet的主要内容,如果未能解决你的问题,请参考以下文章

手动servlet及部署tomcat

使用Maven部署Servlet到Tomcat

servlet,filter,listener,intercepter区别

关于Servlet手动配置web.xml部分代码

012在Tomcat下如何手动部署Web应用

导致资产预编译在heroku部署上失败的代码片段