2019独角兽企业重金招聘Python工程师标准>>>
##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 ###常用命令
- 编译: clean compile
- 跑测试代码: clean test
- 打包:clean package (默认target路径下jar包)
- 安装: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
- 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,包括装载,初始化,执行,回收