使用idea已经有段时间了,但是一直没有自己亲自新建一个项目,从头开始写一个Servlet,今天就来学习一下,并且记一个笔记。
一。
1.首先,打开idea new-->Project
2.选择Maven 项目 点击下一步
3.填写groupid 和 Artifactid 如下:
4.点击下一步 选择一个路径,这个路径是存放你项目的路径
5.完了之后,用一个新窗口打开:
目录结构如下:
6.然后将mav项目,转成web项目
右键项目Add Framework Support
7.添加Web Application 支持
8.点击ok 后,项目就变为了web项目,看如下目录:
9.然后基本的项目已经起来了,然后就是写代码了,
二。
1.在src-->main-->java 下新建一个包 com.demo.servlet 然后在此包下新建一个 HttpServlet 类
2.然后在此类下书写代码,首先HttpServlet 类要继承HttpServlet ,但是我在写这个继承的时候没有给我提示,如下所示:
只要是因为这个工程还没有添加 对servlet的支持,下面在pom文件中添加对 servlet的支持
-
<dependencies>
-
<!--引入servlet-->
-
<dependency>
-
<groupId>Javax.servlet</groupId>
-
<artifactId>servlet-api</artifactId>
-
<version>3.0-alpha-1</version>
-
</dependency>
-
</dependencies>
pom文件如下:
-
<?xml version="1.0" encoding="UTF-8"?>
-
<project xmlns="http://maven.apache.org/POM/4.0.0"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
<modelVersion>4.0.0</modelVersion>
-
-
<groupId>com.demo</groupId>
-
<artifactId>hellodemo02</artifactId>
-
<version>1.0-SNAPSHOT</version>
-
-
<dependencies>
-
<!--引入servlet-->
-
<dependency>
-
<groupId>Javax.servlet</groupId>
-
<artifactId>servlet-api</artifactId>
-
<version>3.0-alpha-1</version>
-
</dependency>
-
</dependencies>
-
-
</project>
3.此时再继承HttpServlet 就有这个提示了:
4.继承HttpServlet之后,需要重写doGet方法,在idea中 使用快捷键 Ctrl+O 选择重写的方法
写完之后下面是HelloServlet的代码
-
package com.demo.servlet;
-
-
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 HelloServlet extends HttpServlet {
-
@Override
-
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
PrintWriter out = response.getWriter();
-
try {
-
request.setCharacterEncoding("UTF-8");
-
-
response.setContentType("text/html; charset=utf-8");
-
response.setCharacterEncoding("UTF-8");
-
String userId = request.getParameter("userId");
-
String pwd = request.getParameter("pwd");
-
if("admin".equals(userId) && "password".equals(pwd)){
-
out.println("success");
-
}else{
-
out.println("fail");
-
}
-
out.println("<br/>");
-
String servletPath = this.getServletContext().getRealPath("/");
-
out.println(servletPath);
-
out.close();
-
-
} catch (Exception e) {
-
// TODO: handle exception
-
}
-
}
-
}
5.写完HelloServlet之后还不行,我们还没有在web.xml中进行配置
下面是web.xml中的内容
-
<?xml version="1.0" encoding="UTF-8"?>
-
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
-
version="4.0">
-
-
<display-name>hellodemo</display-name>
-
<servlet>
-
<servlet-name>HelloServlet</servlet-name>
-
<servlet-class>com.demo.servlet.HelloServlet</servlet-class>
-
</servlet>
-
<servlet-mapping>
-
<servlet-name>HelloServlet</servlet-name>
-
<url-pattern>/hello</url-pattern>
-
</servlet-mapping>
-
</web-app>
6.再然后就是在idea中配置tomcat了 如何配置我这里就不写了 我也会大家都会,我就把截图放一下吧:
设置:Application context:/demo02
之后启动timcat 访问:
http://localhost:8080/demo02/hello
页面如下:
砍我HelloServlet 中 的写法 我这么访问:
http://localhost:8080/demo02/hello?userId=admin&pwd=password
返回的页面就是success
至此,使用idea 新建一个Maven项目,并且书写第一个Servlet 完成,接下来,研究一下HttpServlet
不积跬步,无以至千里
不积小流,无以成江海
转载自:https://blog.csdn.net/liuying1802028915/article/details/85029145