IntelliJ IEDA开发servlet

  • 创建普通Maven项目,并输入项目信息,这里指定项目名称为hello-servlet

IntelliJ IEDA开发servlet_第1张图片

  • pom.xml中添加以下内容


    ....
    
    war
    
        
            javax.servlet
            servlet-api
            2.5
            provided
        
    

    
        
            
                org.apache.maven.plugins
                maven-war-plugin
                
                    
                        
                            ${project.basedir}/src/main/resources/
                        
                    
                    ${project.artifactId}
                
            
        
    
packaging指定打包方式为war包,servlet-api是开发servlet程序的基础依赖包,scope必须声明为provided,表示运行时依赖由运行环境提供,打包需要借助maven-war-plugin工具进行打包。
  • resources目录下创建WEB-INF目录,并在WEB-INF目录下创建web.xml文件,名称不能改。

web.xml



    
        hello
        com.demo.service.HelloServlet
    
    
        hello
        /hello
    
  • 新建Servlet类
package com.demo.service;

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

/**
 * @Description:
 * @author: jianfeng.zheng
 * @since: 2020/7/7 21:31 PM
 * @history: 1.2020/7/7 created by jianfeng.zheng
 */
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String name=req.getParameter("username");
        String content="hello "+name;
        resp.getOutputStream().write(content.getBytes("utf-8"));
        resp.getOutputStream().flush();
    }
}

此时的目录结构如下:

.
├── hello-servlet.iml
├── pom.xml
└── src
    └── main
        ├── java
        │   └── com
        │       └── demo
        │           └── service
        │               └── HelloServlet.java
        └── resources
            └── WEB-INF
                └── web.xml
  • 在控制台执行maven打包命令
mvn clean package
  • target目录下war包复制到tomcat webapps目录下。

参考

你可能感兴趣的:(java,servlet)