Servlet:顾名思义,有点类似于Service,当我们需要将前端传来的请求(以下简称为req)进行解析和操作时,我们需要这样一个Servlet接口来替代我们实现规范化操作获取资源(例如操作数据库等等)而HttpServlet是对Servlet的强化子类,在已经实现大部分方法的基础上,我们只需要重写自己的doget和dopost方法即可。
使用HttpServlet完成一个假登录,具体代码如下:
第一步:我们在index.jsp里面写第一个页面
<html>
<head>
<title>第一个Web项目</title>
</head>
<body>
<h2>欢迎学习JavaWeb</h2>
<a href="login.jsp">登录</a>
<a href="zhuce.jsp">注册</a>
</body>
</html>
第二步:分别写登录和注册的页面
登录页面
<html>
<head>
<title>登录</title>
</head>
<body>
<h2>登录</h2>
<form action="login" method="post">
账号:<input type="text" name="user" value=""/> <br/>
密码:<input type="password" name="pwd" value=""/> <br/>
<input type="submit" value="登录">
</form>
</body>
</html>
注册页面
html>
<head>
<title>注册</title>
</head>
<body>
<h2>注册</h2>
<form action="zhuce" method="post">
账号:<input type="text" name="user" value=""/> <br/>
密码:<input type="password" name="pwd" value=""/> <br/>
<input type="submit" value="注册">
</form>
</body>
</html>
第三步: 书写xml 传递数据
<!--配置servlet类-登录-->
<servlet>
<!--起别名-->
<servlet-name>login</servlet-name>
<!--Servlet类所在的位置:类的全类名就是 包名.类名-->
<servlet-class>com.zhang.servlet.Login</servlet-class>
</servlet>
<!--Servelt类的映射:Servlet用来处理那个请求-->
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<!--配置servlet类-注册-->
<servlet>
<!--起别名-->
<servlet-name>zhuce</servlet-name>
<!--Servlet类所在的位置:类的全类名就是 包名.类名-->
<servlet-class>com.zhang.servlet.Zhuce</servlet-class>
</servlet>
<!--Servelt类的映射:Servlet用来处理那个请求-->
<servlet-mapping>
<servlet-name>zhuce</servlet-name>
<url-pattern>/zhuce</url-pattern>
</servlet-mapping>
第四步:登陆页面判断登录信息
登录页面
package com.man.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Login-doGet...");
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Login-doPost...");
// 三个常用的获取地址请求
// String uri = request.getRequestURI();
// String contextPath = request.getContextPath();
// String servletPath = request.getServletPath();
//
// System.out.println(uri);
// System.out.println(contextPath);
// System.out.println(servletPath);
System.out.println("===================================================");
// 1.从请求中获取用户提交的参数(数据)
request.setCharacterEncoding("utf-8"); // 设置获取数据的格式
String urse = request.getParameter("urse"); //根据表单的name属性获取用户输入的账号密码
String psw = request.getParameter("psw");
System.out.println(urse);
System.out.println(psw);
/*
2.根据用户提交的用户名和密码---去数据库执行查询
select * from users where urse=? and psw=?
假登录*/
// 3.判断成功要干什么? 判断失败要干什么?---做出响应
response.setCharacterEncoding("utf-8"); //设置响应的编码格式
response.setContentType("text/html:charset=UTF-8"); //以什么样的格式(文本/网页)响应
if (urse.equals("華鬘")&&psw.equals("111")){
// 登陆成功
response.getWriter().write("登陆成功");
}else {
// 登陆失败
response.getWriter().write("登陆失败");
}
}
}
注册页面
package com.man.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Zhuce extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Login-doGet...");
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Login-doPost...");
// // 三个常用的获取地址请求
// String uri = request.getRequestURI();
// String contextPath = request.getContextPath();
// String servletPath = request.getServletPath();
//
// System.out.println(uri); //包含项目名和资源路径
// System.out.println(contextPath); //项目名称
// System.out.println(servletPath); //资源路径
System.out.println("===================================================");
// 1.从请求中获取用户提交的参数(数据)
request.setCharacterEncoding("utf-8"); // 设置获取数据的格式
String urse = request.getParameter("urse"); //根据表单的name属性获取用户输入的账号密码
String psw = request.getParameter("psw");
System.out.println(urse);
System.out.println(psw);
/*
2.根据用户提交的用户名和密码---去数据库执行查询
select * from users where urse=? and psw=?
假登录*/
// 3.判断成功要干什么? 判断失败要干什么?---做出响应
response.setCharacterEncoding("utf-8"); //设置响应的编码格式
response.setContentType("text/html:charset=UTF-8"); //以什么样的格式(文本/网页)响应
if (urse.equals("華鬘")&&psw.equals("111")){
// 登陆成功
response.getWriter().write("登陆成功");
}else {
// 登陆失败
response.getWriter().write("登陆失败");
}
}
}