发布时间:2025-12-10 22:56:24 浏览次数:1
Servlet简介
和前面学习的JavaBean一样,Servlet本质上也是Java类,编写Servlet需要遵循java的基本语法,但是与一般的Java类不同的是Servlet是只能运行在服务器端的Java类,而且必须遵循特殊的规范,在运行过程中有自己的生命周期,这些特性都是Servlet所独有的。另外Servlet和HTTP协议是紧密联系的,所以使用Servlet几乎可以处理HTTP协议所有方面的内容,这也正是Servlet受到开发人员青睐的最大原因。
Servlet工作原理
一个简单jsp+servlet的登录例子
JSP页面代码
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head></head><body><formaction="http://127.0.0.1:8080/JavaWebExercise/loginServlet"method="get">name:<inputtype="text"name="username"/><inputtype="submit"value="submit"></form></body></html>
LoginServlet代码
packagecom.bjpowernode.test;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassLoginServletextendsHttpServlet{@OverridepublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringusername=request.getParameter("username");System.out.println("username="+username);response.setContentType("text/html;charset=UTF-8");response.getWriter().println(username+"loginsuccess");}@OverridepublicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doGet(req,resp);}}配置文件代码
<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><servlet-name>MyServlet</servlet-name><servlet-class>com.bjpowernode.test.LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/loginServlet</url-pattern></servlet-mapping></web-app>
过程详解
1、在jsp页面中提交表单到Tomcat,请求的url为http://127.0.0.1:8080/JavaWebExercise/loginServlet
2、当请求达到Tomcat后服务器截取url获得客户端所请求的项目名称(这里为JavaWebExercise)。
3、找到项目后再根据url截取所对应的servlet访问名称,这里为loginServlet。
4、根据loginServlet找到Servlet-name,这里为MyServlet。
5、根据Servlet-name找到对应的class文件,这里为com.bjpowernode.test包下面的LoginServlet类。
6、采用反射实例化找到的servlet类。
7、根据请求的类别,调用servlet父类中service方法进行分发,
8、根据service的分发调用相应的doGet/doPost(这里我们调用的是get方法)。
9、取得传递过来的参数值。
10、调用其他javaBean完成业务逻辑。
11、完成业务逻辑返回给Servlet。
12、输出html字符串
13、将html返回给Tomcat服务器
14、通过得到的html渲染页面。
感谢各位的阅读,以上就是“servlet简介及工作原理”的内容了,经过本文的学习后,相信大家对servlet简介及工作原理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是本站,小编将为大家推送更多相关知识点的文章,欢迎关注!