Idea搭建servlet开发过程
https://www.cnblogs.com/javabg/p/7976977.html
(1) 安装idea,jdk,tomcat;设置好环境变量;
(2) 新建项目工程new-project-java Enterprise-Web Application;
(3) 设置工程名称,也就是程序的根目录;
(4) 创建并设置生成输出目录;在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录;File --> Project Structure...,进入 Project Structure窗口,点击 Modules --> 选中项目“JavaWeb” --> 切换到 Paths 选项卡 --> 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的classes目录;点击 Modules --> 选中项目“JavaWeb” --> 切换到 Dependencies 选项卡 --> 点击右边的“+”,选择 “JARs or directories...”,选择创建的lib目录;
(5) File --> Project Structure- Artifacts设置打包输出格式和路径;
(6) Run -> Edit Configurations,进入“Run Configurations”窗口,点击"+"-> Tomcat Server -> Local;配置好tomcat服务器;点击server设置端口;点击deployment设置程序的Application context,这个是本工程的根目录。在浏览器中访问的时候,通过这个路径访问路径WebHello下的类名HelloWorld ,url为http://localhost:8080/WebHello/HelloWorld
(7) 新建Java文件,实现HttpServlet类,实现init接口和destroy接口,重写doGet方法。
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;
public class HelloWorld extends HttpServlet {
private String message;
@Override
public void init() throws ServletException {
message = "Hello world, this message is from servlet!";
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置响应内容类型
resp.setContentType("text/html");
//设置逻辑实现
PrintWriter out = resp.getWriter();
out.println("<h1>" + message + "</h1>");
}
@Override
public void destroy() {
super.destroy();
}
}
(8) 配置web.xml文件,在其中添加名称
部署servlet
方法一:
在WEB-INF目录下web.xml文件的<web-app>标签中添加如下内容:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name> 根据名称在<servlet>找到servlet-class类HelloWorld
<url-pattern>/HelloWorld</url-pattern> //浏览器中输入这个
</servlet-mapping>
在HelloWorld文件的类前面加上:@WebServlet("/HelloWorld")
(9) 编译运行程序,idea就会将程序部署到tomcat服务器;可以在浏览器中输入http://localhost:8080/HelloWorld
(10)浏览器发送请求,容器接收根据<url-pattern>找到<servlet-name>HelloWorld类名,再由HelloWorld类名找到<servlet-class>HelloWorld,调用接口返回响应。