当前位置:首页>开发>正文

请问在servlet中怎么调用service的方法啊 如何用Spring将Service注入到Servlet中

2023-04-18 13:09:39 互联网 未知 开发

 请问在servlet中怎么调用service的方法啊 如何用Spring将Service注入到Servlet中

请问在servlet中怎么调用service的方法啊?



1.什么情况下调用doGet()和doPost()?第一:你的servlet如果是继承自HttpServlet,就必须重写它里面的两 个虚方法doGet和doPost,也就是说,先不管别的servlet或jsp会去调用哪个方法,这两个方法都应该有。 第二:至于它调用哪个方法,就看提交方式 method属性的值是get,它就去调用对应servlet的doGet方法。 同理,method属性的值是get,它就去调用对应servlet的doPost方法。 一般来说,不管采用那种提交方式,在servlet里要做的事情是一样的。所以,我们很多情况下,在一个方法里面调用另一个方法,这样随你那种方式提交的,都可以转去做一种处理。

如何用Spring将Service注入到Servlet中

在applicationContext.xml中定义数据层访问Bean:

public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L

private UserDao userDao
....
}

注入方法::在Servlet的init方法中增加以下代码:

public void init(ServletConfig config) throws ServletException {
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
config.getServletContext())
}

并且在变量userDao上一行增加@Autowired:

@Autowired
private UserDao userDao

servlet中service()方法

不管是post还是get方法提交过来的连接,都会在service中处理,然后由service来交由相应的doPost或doGet方法处理,如果你重写了service方法,就不会再处理doPost或doGet了。 我们一般不重写service方法,如果请求是GET就调用doGet方法,如果请求是POST就调用doPost方法。但是通常在实现中只实现一种方法,比如:doPost(),然后在doGet()方法里调用doPost。运行service主要告诉service你要调用get或post方法 ,因为doGet() 和doPost()都是在servic()中调用的,你可以试一下同时重写一下这三个方法,只要重写的 service 方法不去调用,这个两个do开头的方法是不会执行的。所以很多servlet都是只重写service方法,而不去重写这两个do开头的方法 。重写service方法没有直接写两个do方法代码的实现效率高,现在企业都直接在的do里面写业务逻辑算法,代替service方法的重写。希望对你有帮助。

springmvc下servlet怎么获取service及调用service的方法

ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext())
Service s = (Service)ctx.getBean("service")
s.saveInfo()

servlet的service方法在什么时候调用

servelt的生命周期
init:servlert在servlet容器初始化时调用:一般用于初始化工作
service;真正访问servlet时候被调用,处理业务逻辑
destroy:servlet容器关闭时被调用

请问创建了servlet类后的service方法在哪?

首先你要了解servlet的机制和生命周期,确实是访问web容器,理论上是先init,service,dopost/get,destory,但是从生产上来看大部分只是通过请求过来,然后容器会自动执行service()这里的service只起一个中转控制作用,根据请求来判断是调用doGet()还是doPost()请求,所有逻辑控制,业务处理全是写在这里面的,不写service()中,所以默认的service方法就够用了,不用重写。

最新文章