JavaWeb开发中Setvlet的部署以及应用

简介:     JavaScript 和 Java  Applet  是运行在客户端浏览器中。Servlet是运行在服务器端的程序 ,他不像 JSP有有辅助工具辅助编码,所以说 Servlet的开发效率是比较低的  但是他对程序员的水平的要求要比JSP程序员的要求高很多 ,因为Servlet中涉及到很多底层的东西,一种典型的开发模式就是  MVC开发模式 利用Setvlet进行流程的控制 。

    JavaScript 和 Java  Applet  是运行在客户端浏览器中。Servlet是运行在服务器端的程序 ,他不像 JSP有有辅助工具辅助编码,所以说 Servlet的开发效率是比较低的

 但是他对程序员的水平的要求要比JSP程序员的要求高很多 ,因为Servlet中涉及到很多底层的东西,一种典型的开发模式就是  MVC开发模式 利用Setvlet进行流程的控制 。

实际上我们的 JSP页面其实是先编译成Servlet 然后再转换成对应的字节码文件  所以说 我们每个JSP页面和  Servlet都是一一对应的 。

Servelt由web服务器编译执行,当客户端访问Servlet的时候,服务器会自动分配一个线程来处理Servlet  此Servlet非 CGI的进程,相对CGI技术相对内存消耗较少  。

由于是再服务器端运行的Servlet也受到防火墙的保护所以所以安全性是比较好的 。

 

Servlet的生命周期分为三个过程  :

1、实际Servlet是一个类,当第一次客户请求的时候 ,那么 服务器首先生成一个Servlet的对象 ,然后 调用init()进行初始化  在整个服务器的生命周期的init只进行一次 。。

2、调用service() 方法来响应 客户端的请求

3、当下次客户进行请求的时候 直接从内存中取出servlet对象  直接使用  当服务器关闭的时候 那么将调用destroy方法来清除 此对象

 

所以说整个周期初始化工作只进行一次。。。

其实 使用Servlet和 JavaBean的部署类似,我们都是使用Java编写的一个类  

首先看下面的一个Servlet代码

 import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet
{
 public void init(ServletConfig config)throws ServletException
 {
  super.init() ; 
 }
 public void service(HttpServletRequest req, HttpServletResponse resp) throws  ServletException,IOException
 {  
  resp.setContentType("text/html;charset=GB2312");
  PrintWriter out=resp.getWriter();
  out.print("接收到了一次请求!<br>");
  out.print ("请求IP是"+req.getRemoteAddr()+"<br>");
 }

}
编译成class文件

然后再Tomcat根目录下建立

WEB-INF文件夹

在其下建立 lib文件夹和

classes文件夹 并吧class文件放在其中

然后再web.xml中写下如下设置

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
    <servlet-name>firstServlet</servlet-name>
    <servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>firstServlet</servlet-name>
    <url-pattern>/firstServlet</url-pattern>
</servlet-mapping>
 <display-name>
 ch08</display-name>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
</web-app>

 

然后启动 Tomcat在 浏览器输入   http://local:8080/firstServlet       ....然后看结果 。。是不是跟我们平时在JSP页面提交的时候不一样呢 

 

以前我们在处理表单提交的时候一切操作 是再JSP页面下进行的  但是现在 我们是在底层完成  也就是Servlet中实现

 

 

 

 

目录
相关文章
|
1天前
|
安全 Java 调度
Java线程:深入理解与实战应用
Java线程:深入理解与实战应用
13 0
|
1天前
|
Java
Java中的并发编程:理解和应用线程池
【4月更文挑战第23天】在现代的Java应用程序中,性能和资源的有效利用已经成为了一个重要的考量因素。并发编程是提高应用程序性能的关键手段之一,而线程池则是实现高效并发的重要工具。本文将深入探讨Java中的线程池,包括其基本原理、优势、以及如何在实际开发中有效地使用线程池。我们将通过实例和代码片段,帮助读者理解线程池的概念,并学习如何在Java应用中合理地使用线程池。
|
5天前
|
JavaScript Java 测试技术
基于Java的电影评论系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的电影评论系统的设计与实现(源码+lw+部署文档+讲解等)
21 0
|
5天前
|
JavaScript Java 测试技术
基于Java的在线日语培训平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的在线日语培训平台的设计与实现(源码+lw+部署文档+讲解等)
23 0
|
5天前
|
JavaScript Java 测试技术
基于Java的同城蔬菜配送管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的同城蔬菜配送管理系统的设计与实现(源码+lw+部署文档+讲解等)
10 0
|
5天前
|
JavaScript Java 测试技术
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
21 0
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
5天前
|
JavaScript Java 测试技术
基于Java的税务门户网站的设计与实现(源码+lw+部署文档+讲解等)
基于Java的税务门户网站的设计与实现(源码+lw+部署文档+讲解等)
4 0
|
5天前
|
JavaScript Java 测试技术
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
21 0
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
5天前
|
JavaScript Java 测试技术
基于Java的家纺用品销售管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的家纺用品销售管理系统的设计与实现(源码+lw+部署文档+讲解等)
16 0
|
5天前
|
JavaScript Java 测试技术
基于Java的教务管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的教务管理系统的设计与实现(源码+lw+部署文档+讲解等)
19 0