2019版 Idea中创建 Servlet过程

一:创建javaweb工程
在这里插入图片描述
创建好后的项目结构如下:
在这里插入图片描述

二:Web工程设置

2.1:在WEB-INF目录下点击右键,选择New–>Driectory,分别创建 classes 和 lib两个目录!
在这里插入图片描述

2.2:左上角选择 File–>Project Structure…,进入Project Structure,选择Modules–>选择项目"servletTest02"–>切换到Paths选项卡–>勾选"Use module compile output path",将“Output path”和"Test output path"都改为之前创建的classes目录。设置好后 先别关掉该窗口,下面一步还得用到
在这里插入图片描述

2.3:在同样的界面,选中Dependencies选项卡–>点击右边的 “+”,选择"JARs or directories…",选择创建的lib目录,选择Jar Direcotry。
在这里插入图片描述
在这里插入图片描述
设置好后的样子如下:
在这里插入图片描述

三:配置Tomcat

3.1:Run–>Edit Configurations,进入“Run Configurations”窗口,点击"+"–>Tomcat Server -->Local,创建一个新的Tomcat容器
在这里插入图片描述
3.2:开始配置Tomcat运行环境
在这里插入图片描述

具体如上面,然后切换到 Deployment选项卡,跟web工程关联:
在这里插入图片描述

四:配置Tomcat lib

在File–>Project Structure选择 Dependencies,点击右侧"+",选择Library
在这里插入图片描述

选择Tomcat lib,点击保存
在这里插入图片描述
五:测试运行

在index.jsp中的body中输入 Hello world字符串:
在这里插入图片描述
然后点击屏幕右上角 运行 按钮
在这里插入图片描述
在浏览器中输入 http://localhost:8080就能看到运行效果了:
在这里插入图片描述
以上就是一个简单的JavaWeb工程,下面介绍在这个工程上面创建一个Servlet

在这里插入图片描述

六:创建Servlet

在src目录下新建TestServlet类,让它继承HttpServlet,并且实现doGet方法,在方法内部中写返回数据
在这里插入图片描述

代码:

public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("---------------TestServlet doGet");

    resp.getWriter().print("Hi from TestServlet doGet method");
}

}

七:配置web.xml

在WEB-INF目录下的web.xml中配置配置和标签,具体如下:

在这里插入图片描述

web.xml :

Hello TestServlet Hello /hi

注: idea 如果能出来,基本上这个xml是不需要配置的,根据个人实际情况

八:测试验证

在浏览器中输入http://localhost:8080/hi

这里的端口后面的 /hi 就是刚才在web.xml中配置的servlet-mapping

在这里插入图片描述
这样一个简单的servlet就搭建完成了

PS:
配置servlet模板
选择settings --> Editor --> File and Code Templates --> Other --> 下拉找 Web 选项
打开 Servlet Code Templates
点击 Servlet Class.Java -->将自己需要的模板信息添加上,并在 doGet 中添加 response.setContentType(“text/html;charset=utf-8”); 防止生成乱码

Servlet Annotated Class.Java 同上复制 操作一遍即可

保存

在这里插入图片描述

代码示例:

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != “”)package KaTeX parse error: Expected 'EOF', got '#' at position 16: {PACKAGE_NAME};#̲end #parse("Fil…{Entity_Name}")
public class ${Class_Name} extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {

}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
response.setContentType(“text/html;charset=utf-8”);
}
}


版权声明:本文为weixin_50554271原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。