1、servlet体系结构

servlet实质就是按servlet规范编写的Java类,可以处理web应用中的相关请求。

2、servlet技术特点

1、功能强大

  • 2、可移植性
  • 3、性能高效
  • 4、安全性高
  • 5、可扩展

3、servlet和jsp的区别

1、角色不同

  • 2、编程方法不同
  • 3、servlet需要编译后运行
  • 4、速度不同

4、servlet开发

(使用注解开发、简单啊、那个配置的还有修改配置文件、烦的一批。不过也好弄、没有注解方便、哈哈哈)

注解开发只需要在java类的上面加上这句话@WebServlet("/My"),括号里的内容自己命名、反斜杠一定要带上。前端怎样找到这个类就要用到这个括号里的内容。例如用from表单提交数据、这样写: <form action="My" method="post">

代码结构(使用的idea开发工具、maven项目)

前端三个页面
主页index

<%--
Created by IntelliJ IDEA.
User: 静小文
Date: 2021/12/19
Time: 22:40
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body> <form action="My" method="post">
姓名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<button type="submit">提交</button>
</form>
</body>
</html>

登录成功页面success.jsp

<%--
Created by IntelliJ IDEA.
User: 静小文
Date: 2021/12/19
Time: 22:57
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>成功</title>
</head>
<body>
登录成功!!!
<a href="index.jsp">首页</a> </body>
</html>

登录失败页面error.jsp

<%--
Created by IntelliJ IDEA.
User: 静小文
Date: 2021/12/19
Time: 22:58
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>错误页面</title>
</head>
<body>
登录失败!!!
<a href="index.jsp">首页</a>
</body>
</html>

servlet

package com.zheng;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; @WebServlet("/My")
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置请求的编码,防止中文乱码
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");//获取用户名
String password = request.getParameter("password");//获取用户名 if ("admin".equals(username) && "123".equals(password)) {
//模拟数据库
RequestDispatcher requestDispatcher = request.getRequestDispatcher("success.jsp");//跳转登录成功页面
requestDispatcher.forward(request, response);
} else {
RequestDispatcher requestDispatcher = request.getRequestDispatcher("error.jsp");//跳转登录成功页面
requestDispatcher.forward(request, response);
} } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}

注意:通过doget方式提交、参数会在url地址栏中显示

测试
用户名和密码正确的情况


用户名和密码错误的情况

提示:如果IDEA中没有servlet选项,则在pom中添加以下依赖

        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

最新文章

  1. 让 FreeBSD 和 Gentoo Linux 在 ZFS 存储卷上共存
  2. 动态加载zTree,用key属性设置url链接、icon图标等
  3. 如何把apdu[decode_len]打印出来
  4. FilenameFilter用法
  5. JavaPersistenceWithHibernate第二版笔记Getting started with ORM-002Domain层详解及M etaModel
  6. .net mvc笔记2_Essential C# Features
  7. JavaScript:获取系统当前时间,构造格式化的字符串
  8. JavasScript实现调查问卷插件
  9. hdu_1014(竟然真的还有更水的)
  10. 复习HTML+CSS(3)
  11. vsftpd详解(ubuntu)
  12. ubuntu18.04从零开始配置环境(jdk+tomcat+idea)到使用idea开发web应用和servlet
  13. poj2226 Muddy Fields 填充棒子(二分匹配)
  14. 彻底解决CDH5.12安装过程中 Error: JAVA_HOME is not set and Java could not be found
  15. pyhanlp文本分类与情感分析
  16. 【ORACLE】Win2008R2修改oracle数据库实例名
  17. EFS 你应该知道的事
  18. 六、Kafka 用户日志上报实时统计之分析与设计
  19. USB相关注册表
  20. 分布式事务之:TCC几个框架的测试情况记录

热门文章

  1. Python 懂车帝口碑分爬虫
  2. mybatis 01: 静态代理 + jdk动态代理
  3. Apache DolphinScheduler 社区呼唤志愿者
  4. Luogu1655 小朋友的球 (组合数学,第二类斯特林数,高精)
  5. Docker 14 网络
  6. Word 分页符怎么使用
  7. 七分钟学会 HTML 网页制作
  8. 在vue项目中使用UEditor--plus
  9. 三 单例模式【Singleton&#160;Pattern】&#160; 来自CBF4LIFE 的设计模式
  10. Linux之搭建FTP服务