web-maven-tomcat

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

##web ###1.tomcat部署别的路径下文件 在server.xml里面配置路径:


path:工程的名字 docBase:工程路径

###2.在servlet里使用bean ####1.web.xml里面配置servlet

   
	CoreServlet  
	org.date.com.servlet.DelegatingServletProxy  
   
  
  
	CoreServlet  
	/  

####2.applicationContext.xml生成bean


####3.写一个servlet代理

public class DelegatingServletProxy extends GenericServlet {  
	private String targetBean;  
	private Servlet proxy;  
	  
	@Override  
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {  
	proxy.service(req, res);  
	}  
	  
	@Override  
	public void init() throws ServletException {  
	this.targetBean = getServletName();  
	getServletBean();  
	proxy.init(getServletConfig());  
	}  
	  
	private void getServletBean() {  
	WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());  
	this.proxy = (Servlet) wac.getBean(targetBean);  
	}  
}  

####4.写自定义的servlet

@Component("CoreServlet")
public class CoreServlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Autowired(required = true)
    private LoadService loadService;

    public void doGet(HttpServletRequest request, HttpServletResponse response) {
        String signature = request.getParameter("signature");
		......

通过@Component,来告诉Srping:我也是一个Bean

用@Autowired(required = true)来定义要使用的bean

###3.eclipse 远程调试 linux tomcat配置:

1.在tomcat的catalina.sh第一行加入:

declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8123"

2.在eclipse中配置

debug configurations-->Remote Java Application

##maven ###常用命令

  1. 编译: clean compile
  2. 跑测试代码: clean test
  3. 打包:clean package (默认target路径下jar包)
  4. 安装:clean install (安装到了本地maven仓库,其他项目才可以使用)

###坐标

  • groupId:定义到组织级别
  • artifactId:定义到项目模块
  • version:版本号
  • packaging:打包方式,一般为jar

###生命周期和插件

maven定义了抽象的生命周期概念,具体由插件来实现

生命周期:定义了执行的先后顺序,包括三种周期:clean default site

###常用配置 ####1.基础配置

	4.0.0

    com.dundun.one
    start-web
    1.0-SNAPSHOT
  • modelVersion:固定的
  • version:SNAPSHOT表示非稳定版本

####2.compile配置


	
		
			org.apache.maven.plugins
			maven-compiler-plugin
			
				1.6
				1.6
			
		
	

  • compiler插件默认只支持编译java 1.3,因此要指定它编译1.6

####3.远程仓库配置



	dianxin repository
	dianxin repository
	http://127.0.0.1:8170/nexus/content/groups/public/
	
		true
	
	
		true
	


####3.继承:多个模块合为一个工程 父pom

pom


	start-persistence
	start-service
	start-web

子pom

parent>
	com.dundun.one
	start-parent
	1.0

start-persistence
  • 父pom必须制定packaging为pom,别的默认打包为jar
  • 子pom继承父类的groupId和version

##tomcat基本结构 ####总体结构

  • Connetor:负责对外交流
  • Container:处理请求
  • Service:把Connector和Container包装在一起,并管理生命周期,可以有多个Connector,但是只能有一个Container
  • Server:提供接口让其他程序访问到service,并管理service的生命周期

####Connector 作用:接收tcp请求,创建一个request和response对象用于和请求端交换数据。产生一个线程来处理这个请求,并把request和response传给他。

处理请求的工作由Container来做

####Container

是所有容器的父接口

责任链设计模式:四个子容器组件,父子关系:

  • Engine:顶层父容器
  • Host:
  • Context:具备了Servlet运行的基本环境,主要功能是管理servlet实例,
  • Wrapper:管理一个servlet,包括装载,初始化,执行,回收

转载于:https://my.oschina.net/SearchVera/blog/465726

你可能感兴趣的:(java,开发工具,python)