永发信息网

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

答案:3  悬赏:20  手机版
解决时间 2021-04-03 13:09
  • 提问者网友:绫月
  • 2021-04-03 06:01
JavaWeb开发中Servlet是那一层以及用法
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-04-03 06:07
Servlet属于MVC结构中的控制层,也就是连接页面和数据库的那个层次。
扩展:
m(model)模型,代表的是数据库层,通常用到的是:oracle、db2、mysql等sql知识;
v(view)视图,代表的是页面(相关),通常用到的是:html5、jsp,js等页面知识;
c(Controller)控制,代表的控制器,通常用到一些框架知识,如ssh(struts,spring,hibernate)。
备注:mvc实际上是一个很宽泛的内容,根据用到的技术不同,需要实现的业务逻辑不一样,所以灵活开发配置即可。
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-04-03 07:32
servlet就是控制器 当然是mvc中的c了
  • 2楼网友:蓝房子
  • 2021-04-03 06:39

JavaWeb开发中Servlet是属于控制层最底端的部分的 ,也就是MVC c的最底层。
他往往用来处理请求的。他的外一层就是View、他的一层就是Service(Servlet往往调用他做逻辑判断的操作)


原始的Servlet的生命周期
servlet在第一次访问的时候就会被初始化


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




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


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


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


如下是一个原始的Servlet代码(这并不是现在开发一贯的做法,请往下看)import javax.servlet.*;
class FirstServlet 
extends GenericServlet {
    public void 
service(ServletRequest request, ServletResponse response)
            throws ServletException, java.io.IOException 
{
        response.getWriter().write("hello 
servlet");
    }
}


ServletConfig
    getServletConfig 方法 用来获得servlet的启动信息,和getServletInfo方法 可以活的servlet的基本信息,和关于它自己的一些信息,例如作者,版本,版权等
    为Servlet设置初始参数要在web.xml中配置(只对当前servlet有效)
如下是在Web.xml中为当前servlet配置初始化参数的。

    ServletConfigDemo
     
cn.itcast.servlet.ServletConfigDemo     

    
        encoding
        utf-8
    

    
        encoding2
        utf-9
    


ServletCofig对象可以通过this.getServletConfig来获得,因为在父类中已经在获得了ServletConfig对象;也可以servletconfig对象可以通过父类的init方法内穿过来的config对象获取    public void init(ServletConfig config) throws ServletException {        this.config = 
config;        this.init();    }    public ServletConfig getServletConfig() 
{        return config;    }
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") 获得参数
如下是现代开发中常用的Servletpublic class 
UpLoadServlet extends HttpServlet 
{
    public void doGet(HttpServletRequest request, 
HttpServletResponse response)
            throws ServletException, IOException 
{
    }
    public void 
doPost(HttpServletRequest request, HttpServletResponse 
response)
            throws 
ServletException, IOException {
        doGet(request, 
response);
    }
}
    
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯