一、HttpServlet简介
HttpServlet是Servlet接口的一个实现类,并且它是一个抽象类,servlet.http包中定义了采用HTTP通信协议(一个无状态协议)的HttpServlet类。
二、
第一步:首先创建一个web项目,先写出需要用的三个页面:
在web文件夹中新建三个jsp文件:
第一个页面:
<html>
<head>
<title>sky</title>
</head>
<body>
<p>请选择您的登录方式</p>
<a href="One.jsp">登录</a>
<a href="#">注册</a>
<a href="#">直接进入</a>
</body>
</html>
第二个页面:
<html>
<head>
<title>sky</title>
</head>
<body>
<form action="sky.jsp" method="post">
<p>请登录您的sky账号</p>
账号:<input type="text" name="name" value=""><br/>
密码:<input type="password" name="pwd" value=""><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
第三个页面:
<html>
<head>
<title>sky</title>
</head>
<body >
//这个页面不需要写入代码,由第二个页面发送请求后相应的结果
</body>
</html>
第二步、完成java类的书写:
注意:在书写java类之前需要确保相应的jar包已经导入
在src文件下新建一个包,在包中新建一个java类(继承HttpServlet 并实现doGet和doPost方法):
- 其中req参数是前端传输来到数据
- resp参数是响应的数据
HttpServlet的一些方法:
- getParameter() 根据表单的ame属性获取用户输入的值
- getRequestURI()获取项目名和资源路径
- getContextPath()获取项目名称
- getServletPath()请求的资源路径
package com;
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.net.HttpRetryException;
public class ServletWeb extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException,ServletException{
//用于识别中文
req.setCharacterEncoding("utf-8");
//接收前端发送来的数据 括号中填写name属性的值
String name = req.getParameter("name");
String password = req.getParameter("pwd");
//在控制台打印出来
System.out.println(name);
System.out.println(password);
//更改响应的数据识别中文
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");
//进行判断
if (name.equals("qwe")&&password.equals("qwe")){
//在页面中响应 可以写入html
resp.getWriter().write("<h2>登录成功</h2>");
}else{
resp.getWriter().write("登录失败");
}
}
}
第三步:书写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">
<servlet>
<servlet-name>denglu</servlet-name>
<servlet-class>com.ServletWeb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>denglu</servlet-name>
<url-pattern>/sky.jsp</url-pattern>
</servlet-mapping>
</web-app>
完成之后运行即可;