说说你对servlet 的理解或者 servlet 是什么?
2017-08-06 21:57
302 查看
说说你对servlet的理解或者 servlet
是什么?
Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。HttpServlet 重写doGet 和 doPost 方法或者你也可以重写service方法完成对get和post请求响应。
Servlet的通俗理解?
Servlet是一个运行了面向请求/ 响应服务器中的网络模块。请求是客户的一个调用,可能是远程的。
请求包含了客户要发送给服务器的数据。
响应是服务器返回给客户的回答该请求的数据。Servlet是一个JAVA对象,他以请求为输入,分析其数据,执行一些逻辑运算,并给客户发回一个响应。
另一方面,Servlet作为驻留在服务器端HTTP明白的中间层,它们知道怎样在HTTP中通过RMI或IIOP在EJB和客户之间进行通信。
RMI了解地址:http://haolloyin.blog.51cto.com/1177454/332426/
IIOP了解地址:https://baike.baidu.com/item/IIOP/8866752?fr=aladdin
RMI-IIOP:RMI以Java为核心,可与采用本机方法与现有系统相连接。IIOP,Internet Inter-ORB Protocol(互联网内部对象请求代理协议),它是一个用于CORBA
2.0及兼容平台上的协议。
Servlet
入门理解?
当学到Servlet这个新技术的时候,不是着急去学Servlet这个Java类有什么属性、方法,而是先去了解这个东西什么时候会用到,既然都是BS的,那ASP.NET中有没有类似的?然后就有了人写了这篇博客。1.Servlet产生背景和主要作用
我们都知道网页有静态和动态之分。静态的只能看看,而动态可以实现客户端和服务器的交互,比如登录的功能,我们输入用户名和密码后提交到服务器,服务器会处理这些信息,如果正确的话则进入主页。若不正确,则给出提示信息。这是我们很常实现的例子,可是我们有没有想过:客户端到服务器之间这个交互的过程是怎么实现的?之前我没有想过。直到遇到了Servlet.Servlet是Java中用来处理BS架构下,客户端请求的响应处理。
2.java中Servlet和ASP.net中的HttpHandler的对比
ASP.Net:
当一个HTTP请求经同HttpModule容器传递到HttpHandler容器中时,ASP.NET Framework会调用HttpHandler的ProcessRequest成员方法来对这个HTTP请求进行真正的处理。以一个ASPX页面为例,正是在这里一个ASPX页面才被系统处理解析,并将处理完成的结果继续经由HttpModule传递下去,直至到达客户端。我们看一张图帮助理解:
Java:
在这个过程中,HttpServletRequest和HttpServletReponse相当于上面的HttpModule起到传过去,传回来的作用。Servlet(HttpServlet)相当于HttpHandler处理客户端请求。
3.Servlet是什么
现在我们说说Servlet是什么。Servlet就是一个Java类。类就会有一系列的属性和方法。了解这些可以看详细的API文档。这里不再赘述。
Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类。
4.Demo(Tomcat)
login.html
<html> <head> <title>Login</title> </head> <body> <form action="exam/login"> 用户名:<input type="text" name="username"> <br> 密 码:<input type="password" name="password"> <br> <input type="submit" value="登录"> </form> </body> </html> |
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>loginservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet> </web-app> |
loginServlet.java
import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class loginservlet extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ String username = req.getParameter("username"); String password = req.getParameter("password"); System.out.println("username = " + username ); System.out.println("password = " + password ); resp.setContentType("text/html"); resp.getWriter().println("Login Success!"); } } |
对应时序图:
总结:
以前没有想过客户端和服务器如何实现交互。Servlet开始让我思考。学习不能总是看以前学得不扎实。学得时候做好总结,往前看。但学新的东西要联系旧的东西,这样既能巩固旧知识,也能使学习变得轻松。这也是为什么我们学了后面的,再看前面学得容易了的原因。
注明Servlet入门理解摘自博客地址:http://blog.csdn.net/wangyajin333/article/details/39937163
相关文章推荐
- 理解servlet和web server是什么
- 说说我对tomcat和servlet的理解
- 说说AsyncTask的使用方法和理解,有什么优缺点,如何解决
- 如何快速掌握plc或工控机与其他设备的modbus通讯协议?包括格式与实际过程 RT,本人从事工控行业多年,对于PLC与触摸屏也算比较熟悉,唯独对这个通讯协议比较难理解,请教高人指导,从什么地方开始下手,或者是说如何正确理解报文格式或正确写入
- 说说个人对Struts,Spring,Hibernate分别是什么的理解
- 【转】说说你对servlet 的理解
- 什么是sqlcommand,或者什么是ado。net的command
- 深入理解REST与Servlet架构的区别
- Servlet 是什么?
- 什么是伪静态?SEO中如何理解伪静态?
- 正则表达式最后加一个/g或者/ig代表什么意思
- 面向对象的优点或者是一套好的代码有什么特点?
- static关键字是什么意思?java中是否可以覆盖一个private方法或者static方法
- 在Servlet(或者Filter,或者Listener)中使用spring的IOC容器
- 说说理学学科的理解
- servlet理解
- 深刻的理解Fragment生命周期 都在做什么
- 什么叫共轭先验或者共轭分布?
- hibernate中的SessionFactory,Session分别表示什么啊?如何理解?
- Jsp 和 Servlet 有什么不同?