刚开始用IDEA开发,还不太熟悉,因此写一个教程,加深印象
1、新建一个Web项目
两种方法:java 和 Java Enterprise(推荐)
第一种)通过Java工程创建,这个方法需要手动导入Tomcat的servlet包才能使用servlet
导入包的方法是创建项目并配置好Tomcat后,File->Project Structure,点击 Modules --> 选中项目“JavaWeb” --> 切换到 Dependencies 选项卡 --> 点击右边的“+”
选中Tomcat中的Jar包
添加后,如下所示
第二种方法)通过Java Enterprise创建,这个方法会自动导入Tomcat的servlet包
输入项目名
完整的项目结构如下
2、web项目配置
2.1在web目录下的WEB-INF下新建两个目录lib和classes
结构如下
2.2File->Project Structure,点击 Modules --> 选中项目“JavaWeb” --> 切换到 Paths 选项卡 --> 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的classes目录
2.3 点击 Modules --> 选中项目“JavaWeb” --> 切换到 Dependencies 选项卡 --> 点击右边的“+”,选择 “JARs or directories...”,选择创建的lib目录,这个目录用来存放依赖的jar包
选择Jar Directory
3. Tomcat配置
3.1 Run -> Edit Configurations,进入“Run Configurations”窗口,点击"+"-> Tomcat Server -> Local,创建一个新的Tomcat容器
3.2 在"Name"处输入新的服务名,点击“Application server”后面的“Configure...”,弹出Tomcat Server窗口,选择本地安装的Tomcat目录 -> OK
4. JavaWeb测试
4.1 Run -> Edit Configurations,进入“Run Configurations”窗口,选择之前配置好的Tomcat,点击“Deployment”选项卡,点击“+” -> “Artifact”-> 选择创建的web项目的Artifact...
修改“Application context”-> Apply -> OK
说明:此处的Application context是指定本工程的根目录
4.2 在index.jsp文件中的body之间添加要显示的内容,然后点击“运行”的绿色三角
打开浏览器,输入:localhost:8080/JavaWeb
二、Servlet简单实现
1、在src目录下新建一个类
1 package com.uestc.www.servlets;
2
3
4 import javax.servlet.ServletException;
5 import javax.servlet.http.HttpServlet;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8 import java.io.IOException;
9 import java.io.PrintWriter;
10
11 public class Aservlet extends HttpServlet {
12 private String message;
13
14 public void init() throws ServletException{
15 message = "hello world!!";
16 }
17
18 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
19
20 // 设置响应内容类型
21 response.setContentType("text/html");
22
23 // 实际的逻辑是在这里
24 PrintWriter out = response.getWriter();
25 out.println("<h1>" + message + "</h1>");
26 }
27 }
2、对Servlet进行配置,有两个方法
1)在web.xml中对servlet进行配置
在web.xml中配置Servlet的目的其实只有一个,就是把访问路径与一个Servlet绑定到一起,上面配置是把访问路径:“/hello”与“com.uestc.www.servlets.Aservlet”绑定到一起。
<servlet>:指定hello这个Servlet的名称为hello;
<servlet-mapping>:指定/hello访问路径所以访问的Servlet名为hello。
<servlet>和<servlet-mapping>通过<servlet-name>这个元素关联在一起了
2)利用注解进行配置
在servlet类的上面写入注解@WebServlet("/hello")
3. 运行servlet,点击运行按钮
在地址栏输入localhost:8080/JavaWeb/HelloWorld