准备:
tomcat 8.5
Myeclipse 2017,集成tomcat 8.5
1.新建一个java web项目命名为MyFirstServletDemo,src文件下新建一个com.zhangyun.javaweb包,在包中新建一个类,名为MyFirstServlet.java。在webRoot目录下新建一个页面index.html。
目录结构图如下:
2.在index.html中编写简单前端代码,包含一个表单,表单中有两个输入框,还有一个提交按钮。
index.html
<DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form action="myfirst" method="get">
<table>
<tr>
<td>username:</td>
<td><input type="text" id="username"></td>
</tr>
<tr>
<td>password</td>
<td><input type="password" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
3.在MyFirstServlet.java中填充如下代码
package com.zhangyun.javaweb;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyFirstServlet extends HttpServlet{
protected void doPost(HttpServletRequest requent,HttpServletResponse respose) throws IOException
{
System.out.println("这是doPost方法");
PrintWriter out = respose.getWriter();
out.println("<strong>Hello Servlet!</strong><br/>");
}
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException
{
System.out.println("这是doGet方法");
PrintWriter out = response.getWriter();
out.println("<strong>Hello Servlet!</strong>");
}
}
在WEB-INF目录下新建一个xml文档
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>com.zhangyun.javaweb.MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/myfirst</url-pattern>
</servlet-mapping>
</web-app>
通过myeclipse打开tomcat服务器,将项目部署到tomcat服务器上,
用浏览器地址栏输入http://localhost:8080/MyFirstServletDemo/
可以看见效果
填写信息,点击提交按钮,返回一个新页面。
到此,第一个Servlet运行成功。
注意事项
1.tomcat下载安装后,需要配置tomcat的环境变量,
2.如果8080端口已经被占用,则需要在tomcat配置文件中从新指定端口。
对项目的简单解释:
首先先写一个页面index.html。页面中包含一个表单,有两个输入框,一个提交按钮。
<from></from>标签中,有两个属性值,action表示有那个servlet处理,method指定由哪中方式提交。
<form action="myfirst" method="get">
在web.xml中,我们可以有两个对应的标签<servlet></servlet>和<servlet-mapping></servlet-mapping>
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>com.zhangyun.javaweb.MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/myfirst</url-pattern>
</servlet-mapping>
当我们点击提交按钮的时候,浏览器将会把我们的数据送到服务器中,服务器根据表单找到对应的Servlet,
那么如何找到的呢?
根据表单属性action的值找到对应的<servlet-mapping>标签,根据该标签的servlet-name的值first找到它对应的<servlet>标签
根据servlet标签就可以找到对应的Servlet类。就可以进行数据的处理。
在MyFirstServletDemo.java 中,可以通过一系列方法获取表单的值,并进行处理,还可以返回值到页面中。