SSH框架
Posted lesleysbw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH框架相关的知识,希望对你有一定的参考价值。
1. 什么是Servlet?
Servlet是运行在Web服务器或应用服务器上的程序,它是作为Web浏览器/其他HTTP客户端的请求和HTTP服务器上的数据库/应用程序之间的中间层。使用Servlet可以收集来自网页表单的用户输入,呈现来自数据库或其他源的记录,还可以动态创建网页。
在Web应用程序框架中,它可以完全取代CGI程序。具有以下优点:
1). 执行效率高。每一个Servlet对应一个独立的线程。
2). 以Java为基础
3). 拥有跨平台的功能。
2. Servlet生命周期
1)加载Servlet类。可能在容器启动时发生,也可能在第一个客户使用时进行。
2)实例化。Servlet容器收到第一个针对此Servlet的请求时,调用该Servlet的默认构造方法,创建Servlet的一个实例 ServletConfig对象。
3)初始化。创建Servlet实例时,容器会调用该Servlet的init()方法(针对一个Servlet类只会调用一次)
4)服务。如果请求该Servlet,则容器再启动一个线程,调用该Servlet的service()方法, 由service()方法判断HTTP为什么请求,再调用相应的doGet()或者doPost()方法。(因此写Servlet类一般就是重写doGet()或者doPost()方法)
5)销毁。当Servlet容器判定某个Servlet实例不再需要时,或者Servlet容器本身必须被关闭时,调用destroy()方法释放此Servlet实例所占用的存储器空间和相关资源。
3. Java Servlet
Java Servlet是运行在带有支持Java Servlet规范的解释器的web服务器上的Java类。
由两大部分组成:
- javax.servlet
- javax.servlet.http
4. 实例
下面是 Servlet 输出 Hello World 的示例源代码:
1 // 导入必需的 java 库 2 import java.io.*; 3 import javax.servlet.*; 4 import javax.servlet.http.*; 5 6 // 扩展 HttpServlet 类 7 public class HelloWorld extends HttpServlet { 8 9 private String message; 10 11 public void init() throws ServletException 12 { 13 // 执行必需的初始化 14 message = "Hello World"; 15 } 16 17 public void doGet(HttpServletRequest request, 18 HttpServletResponse response) 19 throws ServletException, IOException 20 { 21 // 设置响应内容类型 22 response.setContentType("text/html"); 23 24 // 实际的逻辑是在这里 25 PrintWriter out = response.getWriter(); 26 out.println("<h1>" + message + "</h1>"); 27 } 28 29 public void destroy() 30 { 31 // 什么也不做 32 } 33 }
在/webapps/ROOT/WEB-INF/de web.xml文件中创建以下条目:
<web-app> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>
以上是关于SSH框架的主要内容,如果未能解决你的问题,请参考以下文章
javaEE SSH框架 BaseAction的抽取以及其他方面代码优化