先有前端,前端用的时候直接调用
后端已实现注册接口,接口名为doRegister.jsp
前端此时:
前端的form表单中的action提交地址就只能填doRegister.jsp,即:
<form class="form-group" action="servlet/doRegister.jsp" method="post">form>
先有前端(需求),后端去实现前端指定的请求接口
现在前端是index.jsp,里面有一个注册的form表单,但当前action未指定地址
所以要先指定action地址,假如是servlet/doRegister.jsp
后端此时:
表示层——依赖于——业务层——依赖于——数据访问层
表示层————业务层————数据访问层
视图层(表示层)————请求层————模型层(业务层+数据访问层)
前端(表示层)————请求层————业务层————数据访问层
以注册功能为例:
JSP内置对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP所支持的九大内置对象:
HTML部分代码:
-
- <div id="register" class="modal fade" tabindex="-1">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-body">
- <button class="close" data-dismiss="modal">
- <span>×span>
- button>
- div>
- <div class="modal-title">
- <h1 class="text-center">注册h1>
- div>
- <div class="modal-body">
- <form class="form-group" action="servlet/doRegister.jsp" method="post">
- <div class="form-group">
- <label for="userName">用户名label>
- <input id="userName" name="userName" class="form-control" type="text" required placeholder="6-15位字母或数字">
- div>
- <div class="form-group">
- <label for="userPwd">密码label>
- <input id="userPwd" name="userPwd" class="form-control" type="password" required placeholder="至少6位字母或数字">
- div>
- <div class="form-group">
- <label for="repwd">再次输入密码label>
- <input id="repwd" class="form-control" type="password" placeholder="至少6位字母或数字">
- div>
- <div class="form-group">
- <label for="email">邮箱label>
- <input id="email" name="email" class="form-control" type="email" required placeholder="例如:123@123.com">
- div>
- <div class="text-right">
- <button class="btn btn-primary" type="submit">保存button>
- <button class="btn btn-danger" data-dismiss="modal">取消button>
- div>
- <a href="" data-toggle="modal" data-dismiss="modal" data-target="#login">已有账号?点我登录a>
- form>
- div>
- div>
- div>
- div>
JSP代码:
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
- <%
- //小脚本,根据
-
- //修改request的字符集编码
- request.setCharacterEncoding("UTF-8");
-
- //获取注册的用户名
- String userName = request.getParameter("userName");
- //获取注册的密码
- String userPwd = request.getParameter("userPwd");
- //获取注册的邮箱
- String email = request.getParameter("email");
-
- System.out.print("用户名:" + userName + "\n" + "密码:" + userPwd + "\n" + "邮箱:" + email);
- %>
HTML部分代码:
-
- <div id="login" class="modal fade">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-body">
- <button class="close" data-dismiss="modal">
- <span>×span>
- button>
- div>
- <div class="modal-title">
- <h1 class="text-center">登录h1>
- div>
- <div class="modal-body">
- <form class="form-group" action="servlet/doLogin.jsp" method="post">
- <div class="form-group">
- <label for="userName">用户名label>
- <input name="userName" class="form-control" type="text" placeholder="">
- div>
- <div class="form-group">
- <label for="userPwd">密码label>
- <input name="userPwd" class="form-control" type="password" placeholder="">
- div>
- <div class="text-right">
- <button class="btn btn-primary" type="submit">登录button>
- <button class="btn btn-danger" data-dismiss="modal">取消button>
- div>
- <a href="" data-toggle="modal" data-dismiss="modal" data-target="#register">还没有账号?点我注册a>
- form>
- div>
- div>
- div>
- div>
JSP部分代码:
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
-
- <%
- //修改request和response的字符集编码
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
-
- //获取注册的用户名和密码
- String userName = request.getParameter("userName");
- String userPwd = request.getParameter("userPwd");
-
- if ("admin".equals(userName) && "123456".equals(userPwd)) {
- //登录成功,使用绝对定位跳转到后台主页
-
- //重定向跳转:
- //response.sendRedirect(request.getContextPath() + "/manage/index.jsp");
-
- //转发跳转:
- request.getRequestDispatcher("/manage/index.jsp").forward(request,response);
- } else {
- //登录失败,调回系统登录首页
-
- //这种写法也属于重定向跳转:
- out.print("