一、首先写一个Java项目,主要是做为后面web层依赖的一个jar包,这个java项目只须要一个接口和一个注册器java
以下:web
接口:app
package com.duduy.up.web;ide
public interface ICallName {
public void excute();
public String getValue();
}this
注册器.net
package com.duduy.up.web.main;接口
import com.duduy.up.web.ICallName;get
public class Main {
private ICallName callName;it
public void regCallName(ICallName callName) {
this.callName = callName;
}io
public void start() {
callName.excute();
System.out.println("依赖jar包里面拿的值:"+callName.getValue());
}
}
二、web层依赖上面的那个Java项目(必须打成jar包),实现上面java的接口
这个实现类有两个做用,一个是依赖的上面的java项目可以监听到并执行web的excute方法,一个是将web的传值传递下去
package com.duduy.up.web.service;
import com.duduy.up.web.ICallName;
public class CallName implements ICallName {
private StringBuffer sb= new StringBuffer("");
public CallName(String... args) {
if(null!=args){
for(String arg:args){
sb.append(arg+",");
}
}
}
@Override
public void excute() {
System.out.println("实现来自于web层");
}
@Override
public String getValue(){
return sb.toString();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Main main = new Main();
//注册实现类
main.regCallName(new CallName("1","2","3","5","move","hhh"));
main.start();
response.getWriter().append("Served at: ").append(request.getContextPath());
}
这样便实现了依赖jar包向上调用web层方法 其实本质上是监听模式