Java Servlet 3.1 Specification
"servlet-3_1 - 英文版的Servlet 3.1标准文档,由Oracle Corporation发布,Rajiv Mordani和Shing Wai Chan参与编写,最终版本发布于2013年4月。此文档是JSR-340 Java Servlet 3.1 Specification的一部分,提供有限的许可证供评估使用。" Servlet 3.1是Java服务器端编程的重要组成部分,它定义了如何在Java应用服务器中处理HTTP请求的标准。这一版本引入了多项新特性与改进,旨在提升性能、简化开发流程和增强可扩展性。 1. **异步处理**: Servlet 3.1引入了异步Servlet API,允许开发者在不阻塞线程的情况下处理请求。这使得服务器可以处理更多的并发连接,提高了性能和资源利用率。`ServletRequest.startAsync()`方法用于启动异步处理,开发者可以在不同的线程中执行耗时的操作,然后通过`AsyncContext.complete()`结束异步处理。 2. **WebSocket支持**: 为了适应实时通信的需求,Servlet 3.1添加了对WebSocket协议的支持。WebSocket提供了一种低延迟、全双工的通信机制,允许服务器和客户端进行双向通信。开发者可以通过`@ServerEndpoint`注解来定义WebSocket端点,并使用`Session`对象进行消息传递。 3. **动态注册和监听器**: 在Servlet 3.1中,开发者可以在应用运行时动态注册Servlet和Filter,而无需在web.xml中预先配置。此外,还可以通过实现`ServletContextListener`接口并在类上使用`@WebListener`注解来注册监听器,以便在应用生命周期的关键事件中执行代码。 4. **增强的URL重写**: 新增了`Response.sendRedirect(String location)`的变体,允许在重定向时携带状态信息,如HTTP状态码,以更精确地控制重定向行为。 5. **安全增强**: Servlet 3.1加强了安全性,提供了更细粒度的权限管理,如通过`HttpServletRequest.isUserInRole(String role)`检查用户角色,以及使用`HttpConstraintElement`和`HttpSecurityConstraint`进行安全约束配置。 6. **文件上传改进**: 更新了多部分文件上传API,使得处理大文件和多个文件上传更加高效。`Part`接口提供了获取文件名、内容类型和大小的方法,以及读取和写入文件内容的能力。 7. **更好的部署和配置**: 支持在应用程序的META-INF目录下放置web.xml,以实现模块化部署。此外,还引入了`@WebInitParam`和`@WebFilter`等注解,以减少对XML配置的依赖。 8. **标准的WebSocket API**: Servlet 3.1引入了JSR 356,提供了一个标准化的WebSocket API,使得开发者可以使用Java标准库中的类和接口来创建WebSocket服务。 9. **NIO.2支持**: 借助Java NIO.2 API,Servlet 3.1允许开发者使用非阻塞I/O进行网络通信,进一步提高性能。 10. **MIME类型匹配**: 提供了新的`HttpServletRequest.getParts()`方法,允许基于MIME类型的请求部分匹配,从而更好地处理复杂表单数据。 Servlet 3.1标准为Java Web开发带来了许多增强功能和改进,使开发更高效、更灵活,同时也为现代Web应用的实时交互提供了基础支持。
![](https://csdnimg.cn/release/download_crawler_static/10375195/bg10.jpg)
![](https://csdnimg.cn/release/download_crawler_static/10375195/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/10375195/bg12.jpg)
![](https://csdnimg.cn/release/download_crawler_static/10375195/bg13.jpg)
![](https://csdnimg.cn/release/download_crawler_static/10375195/bg14.jpg)
剩余239页未读,继续阅读
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
<?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>abc</servlet-name>
<servlet-class>com.atguigu.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>abc</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
admin页面
root
<form action ="root.html" method="post">
username:<input type="text" name="username"/>
<input type="submit" value="提交"/>
</form>
访问HelloServlet
</body>
</html> 为什么点击hello的超链接会显示404
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 2
- 资源: 11
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 贵州煤矿矿井水分类与处理策略:悬浮物、酸性与非酸性
- 醛固酮增多症肾上腺静脉采样对比:ACTH后LR-CAV的最优评估
- 开源云连接传感器监控平台:农业土壤湿度远程监测
- 母婴用品企业年度生产计划线性规划优化模型:实证与应用
- 井下智能变电站:Rogowski线圈电流检测系统的研发与性能验证
- 霍州矿区煤巷稳定性分析及支护策略
- ARM嵌入式系统远程软件更新方案:基于TFTP协议
- 煤炭选煤中汞分布规律与洗选脱汞效果
- 提升码垛机器人性能:拉格朗日动力学模型与滑模模糊控制的应用
- 增强现实技术提升学前手写教学:设计与开发案例
- 不规则工作面沉陷三角剖分算法提升与应用
- 卡尔曼滤波在瞬变电磁干扰压制中的应用研究
- 煤矿安全能力研究:理论与系统构建
- LonWorks总线技术在斜巷运输车辆定位与跑车防护中的应用
- 神东煤炭集团高效煤粉锅炉系统:节能环保新实践
- Ti/SnO2+Sb2Ox/PbO2电极分形维数与电催化性能研究
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)