1.新建 javaweb 项目
2. 在 WEB-INF 目录下新建两个目录 classes lib
File-Project Structure
左侧 选择Modules,右侧 Paths,选择 Use modelue compile output path,选择classes 目录
(Modules consist of a content root and a module file. A content root is a folder where you store your code. Usually, it contains subfolders for source code, unit tests, resource files, and so on. A module file (the .iml
file) is used for keeping module configuration, including content or source roots, dependencies, framework-specific settings in facets, and so on.)
右侧 Dependencies 添加 jar directions 使用 lib 目录
3.配置 tomcat
4. 运行
package app01a;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
// 用 WebServlet 注解类型 声明 Servlet,在声明 Servlet 同时,告诉容器是哪个 URL 调用这个 Servlet,/my模式应该调用这个 Servlet
@WebServlet(name="MyServlet", urlPatterns = {"/my"})
public class MyServlet implements Servlet {
private transient ServletConfig servletConfig;
// 将 private transient 变量 servletConfig 设置成传给该方法的 ServeltConfig 对象
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
// 将字符串“Hello from MyServlet” 传给浏览器,每当有针对该Servlet 的HTTP请求进来时,都会调用 service 方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
String servletName = servletConfig.getServletName();
servletResponse.setContentType("text/html");
PrintWriter writer = servletResponse.getWriter();
writer.print("<html><head></head>" + "<body>Hello from " + servletName + "</body></html>");
}
@Override
public String getServletInfo() {
return "My Servlet";
}
@Override
public void destroy() {
}
}