首页编程java编程java的servlet是什么样的(java servlet 主要用来做什么)

java的servlet是什么样的(java servlet 主要用来做什么)

编程之家2023-10-11110次浏览

大家好,关于java的servlet是什么样的很多朋友都还不太明白,今天小编就来为大家分享关于java servlet 主要用来做什么的知识,希望对各位有所帮助!

java的servlet是什么样的(java servlet 主要用来做什么)

java servlet 主要用来做什么

简单一点说吧:

1.比如说你在一个网页上输入姓名和密码,然后点击提交。这时候页面就会跳转(跳转方法有post和get)。

2.跳转到哪呢,这就通过web.xml文件配置你的跳转,一般就跳转到servlet来处理。

java的servlet是什么样的(java servlet 主要用来做什么)

3.servlet说白了,就是一个java类,继承HttpServlet,主要有doGet和doPost方法,你在页面代码写的是get方法跳转,那么就运行servlet里doGet方法里面的代码(post同理)。

4.doGet里面的代码就处理操作,一般首先用特定方法获得页面提交的姓名和密码,然后进行处理(判断是否合法等等),处理玩之后,决定是直接显示信息,还是跳转到其他页面。

servlet就是接受页面信息,然后进行逻辑处理的一个java类。

java的servlet是什么样的(java servlet 主要用来做什么)

至于学习资料,网上找一个servlet的小例子很多,有java基础很容易看懂,没有基础也可以学会

JavaWeb开发中Servlet是那一层以及用法

JavaWeb开发中Servlet是属于控制层最底端的部分的,也就是MVC c的最底层。

他往往用来处理请求的。他的外一层就是View、他的一层就是Service(Servlet往往调用他做逻辑判断的操作)

原始的Servlet的生命周期

servlet在第一次访问的时候就会被初始化

servlet对象一旦被创建就会驻留在内存中,当服务器关闭或者web应用被移除的时候servlet对象才销毁

1:当servlet被创建的时候那么 servlet就会被初始化调用init方法

2:任何请求来自客户端,service方法就会被自动调用

3:当servlet从服务器被移除的时候 distroy方法将会被调用

如下是一个原始的Servlet代码(这并不是现在开发一贯的做法,请往下看)

importjavax.servlet.*;

classFirstServlet

extendsGenericServlet{

publicvoid

service(ServletRequestrequest,ServletResponseresponse)

throwsServletException,java.io.IOException

{

response.getWriter().write("hello

servlet");

}

}

ServletConfig

getServletConfig方法用来获得servlet的启动信息,和getServletInfo方法可以活的servlet的基本信息,和关于它自己的一些信息,例如作者,版本,版权等

为Servlet设置初始参数要在web.xml中配置(只对当前servlet有效)

如下是在Web.xml中为当前servlet配置初始化参数的。

<servlet>

<servlet-name>ServletConfigDemo</servlet-name>

<servlet-class>

cn.itcast.servlet.ServletConfigDemo</servlet-class>

<init-param>

<param-name>encoding</param-name>

<param-value>utf-8</param-value>

</init-param>

<init-param>

<param-name>encoding2</param-name>

<param-value>utf-9</param-value>

</init-param>

</servlet>

ServletCofig对象可以通过this.getServletConfig来获得,因为在父类中已经在获得了ServletConfig对象;也可以servletconfig对象可以通过父类的init方法内穿过来的config对象获取

publicvoidinit(ServletConfigconfig)throwsServletException{this.config=

config;this.init();}publicServletConfiggetServletConfig()

{returnconfig;}

ServletContext

通常我们称ServletContext叫Application对象。也叫域对象

Servlet引擎为每个WEB应用程序都创建一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,调用ServletConfig.getServletContext方法可以返回

通常获得ServletContext的方法是直接getservletcontext

因为在父类中已经定义了这样的方法,子类直接继承使用

ServletContext对象的引用。getServletContext().getInitParameter("a")

的方式获得web应用的初始化参数

我们还可以为整个web应用配置初始化参数

Request& Response

基本servlet中service的方法的request和 response对象分别是

RequestFacade和 ResponseFacade这个类是Tomcat中的类

他继承自HttpServletRequest而 HttpServletRequest又继承 ServletRequest(Response同理)

一些常用方法:

request.getRequestURL();获得URl

request.getHeader("accept-encoding");获得支持的压缩格式

request.getHeader("referer");获得来自哪里(防盗链)

request.getInputStream();获得消息体

request.getParameter("name")获得参数

如下是现代开发中常用的Servlet

publicclass

UpLoadServletextendsHttpServlet

{

publicvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException

{

}

publicvoid

doPost(HttpServletRequestrequest,HttpServletResponse

response)

throws

ServletException,IOException{

doGet(request,

response);

}

}

什么是servlet

1.什么是SERVLET?

Servlet是用Java编写的服务器端程序,其主要功能在于交互式地浏览和修改数据,生成动态Web内容.

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们一般将Servlet理解为后者。

这段话可能听起来有些绕,但如果大家把Servlet与Spring MVC的前端控制器 DispatcherServlet

结合起来理解,应该立马就知道它是做什么的了. Servlet是Java JDK提供的一个接口,所有的Servlet都继承于它,

而DispatcherServlet是一个继承了实现了Servlet接口的类的类.

2.知识剖析

Servlet的生命周期

Servlet的生命周期分为三个阶段,分别对应Servlet中的三个接口.

init()初始化.

service()处理客户端的请求,具体业务逻辑. ServletRequest对象用于获得客户端信息,ServletResponse对象用于向客户端返回信息(客户端可以理解为浏览器)

destroy()结束时调用.这个方法只有在servlet的service方法内的所有线程都退出的时候,或在超时的时候才会被调用。

init()和 destroy()都只会在Servlet创建和销毁时调用一次,而service()则会在响应不同请求时多次调用.

注意Servlet是一个接口,实现了servlet的类,是不能直接处理请求的.

请求需要通过Servlet容器来发送到Servlet, Servlet是运行在Servlet容器中的.

Servlet容器是Web服务器和servlet进行交互的必不可少的组件。常见Web服务器有Tomcat, jetty, resin,它们也可以称为应用服务器

3.常见问题

1. Servlet如何接收才能接收到Servlet容器发来的请求?

2. Servlet什么时候被初始化?

3. DispatcherServlet如何处理容器发来的请求?

4.解决方案

1. Servlet容器通过监听端口(8080)来接收用户发送的请求,然后通过web.xml中的 Servlet-mapping配置,来匹配到请求Heades中的url信息,将其转发到对应Servlet配置中的Servlet实现类完成请求接收.

2. Servlet的初始化是由Web.xml中的 loadOnStartup配置控制的.

当 loadOnStartup< 0或者不写时,接收到第一次请求的时候实例化.

当 loadOnStartup> 0 web容器启动的时候做实例化处理,顺序是由小到大,正整数小的先被实例化

当 loadOnStartup= 0 web容器启动的时候做实例化处理,相当于是最大整数,因此web容器启动时,最后被实例化

3.通过DispatcherServlet的执行流程来看它时如何处理请求的

希望对您有所帮助!~

好了,关于java的servlet是什么样的和java servlet 主要用来做什么的问题到这里结束啦,希望可以解决您的问题哈!

java中重载指什么?java中重载有什么用java asm是什么意思(ASM是什么意思)