IDEA手动编写Servlet详解
一、创建web应用
1、选择web application应用,之后填写项目名称。
2、在WEB-INF目录下创建两个文件夹:classes和lib,其中classes是Servlet类和其他JAVA类必须存放的位置,类以下的目录反映了类包的结构。lib是Servlet应用程序所需JAR文件要在这里部署。但是Servlet API的JAR文件不需要在这里部署,容器中已经有了它的备份。
3、选择菜单File —> Project Structure… —>选择modules ---->path选项 将class文件的输出改为之前创建的classes目录
4、还是在modules菜单下,选择Dependencies 选项卡 —> 点击右侧的 “+”号,选择“JARs or directories…”,选择创建的lib目录
二、编写servlet
方法一:Servlet3.0后注解配置Servlet
需要在Servlet中导入 import javax.servlet.annotation.WebServlet;
然后使用@WebServlet("/my")
就可以直接配置了,然后通过所输入的URL可以直接访问到。
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "MyServlet",urlPatterns = {"/my"})
public class MyServlet implements Servlet{
private transient ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
String servletName = servletConfig.getServletName();
//网页响应类型,浏览器将其渲染为HTML格式
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.println("<html><head></head>" + "<body> Hello from " + servletName + "</body></html>");
}
@Override
public String getServletInfo() {
return "My Servlet";
}
@Override
public void destroy() {
}
}
方法二:web.xml配置Servlet
//web.xml里配置
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/my</url-pattern>
</servlet-mapping>
//MyServlet里配置
import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
public class MyServlet implements Servlet{
private transient ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
String servletName = servletConfig.getServletName();
//网页响应类型,浏览器将其渲染为HTML格式
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.println("<html><head></head>" + "<body> Hello from " + servletName + "</body></html>");
}
@Override
public String getServletInfo() {
return "My Servlet";
}
@Override
public void destroy() {
}
}
三、发布tomcat
访问:
http://localhost:8080/servlet/
这样访问的路径是WEB-INF下的index.jsp文件
http://localhost:8080/servlet/my
这样访问的路径才能访问对应的servlet对象
最后
如有帮助,点赞关注!