可以将业务逻辑处理和视图相分离,使用jsp界面表示视图,使用servlet处理业务逻辑

login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String msg=(String)request.getAttribute("msg");
if(msg!=null){
out.print(msg);
}
%>
<form action="dologin" method="post">
username:<input type="text" name="username" /><br>
password:<input type="password" name="password" /><br>
<input type="submit" value="submit" />
</form>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
登陆成功
<%
String username=request.getParameter("username");
out.print(username+"欢迎你");
%>
</body>
</html>

fail.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
登陆成功
<%
String username=request.getParameter("username");
out.print(username+"欢迎你");
%>
</body>
</html>

业务逻辑处理

com.zk.myservlet.dologin.java

public class dologin extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取表单数据
String username=request.getParameter("username");
String password=request.getParameter("password");
//处理业务逻辑
if("Tom".equals(username)&&"123".equals(password))
{
//分发转向
request.getSession().setAttribute("username", username);
request.getRequestDispatcher("/success.jsp").forward(request, response);
//response.sendRedirect(request.getContextPath()+"/success.jsp");//丢失 username参数值 ,一次请求
}
else
{
//分发转向
//request.getRequestDispatcher("/fail.jsp").forward(request,response);
//response.sendRedirect(request.getContextPath()+"/fail.jsp");
request.setAttribute("msg", "用户名密码不正确");
request.getRequestDispatcher("/login.jsp").forward(request,response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
} }

  

最新文章

  1. 【JS】FOR循环通关只循环一次length提高性能
  2. DirectX12 Samples 学习笔记 – PredicationQueries
  3. 使用SQLIO测试磁盘性能
  4. Criteria查询之sqlRestriction()的理解
  5. 打造高仿QQ的友盟反馈界面(MVP模式)
  6. WLAN历史概述-01
  7. Class.forName()数据库驱动
  8. apt-key adv
  9. TreeSet源码分析
  10. Map集合学习总结
  11. [JDK8]读写锁的改进:StampedLock
  12. MySQL InnoDB Online DDL学习
  13. Web Server和Application Server之间的区别?
  14. STOMP
  15. MaidSafe区块链项目白皮书解读
  16. HTTPS 接入优化建议
  17. PHP 反引号运行Shell命令,C程序
  18. Asp.net mvc 限制路由参数类型
  19. Oracle REGEXP
  20. sum (bestcoder)

热门文章

  1. php私有组件以及创建自己的composer私有组件(packagist+git+composer)
  2. 最近公共祖先 Lowest Common Ancestors
  3. Date/Math/String对象的函数
  4. Python基础教程-02
  5. rest_framework:url控制
  6. AI赋能抗疫!顶象入选“中关村第二批抗疫新技术新产品新服务清单”
  7. 一点点学习PS--实战二
  8. logging日志模块_python
  9. js获取自定义data属性
  10. Scale9Sprite 的 setCapInsets中需要注意的地方