项目总结笔记
1、专有名词解释:
SMO, Separate Management Office。
UAT, User Accept Test.
GSLB, Global Server Load Blance.
NCS, Network Connection Service.
Scoping-->Planning-->Development-->SIT(System Integrated Test)-->UAT(User Accept Test)-->MTP(Move To Production)
部分惠普知识总结:
2、Maven收获
Maven概念包括:Maven生命周期build lifecycle, Maven仓库repository,项目对象模型Project Object Model。任何您想build的事物,Maven都可以认为它们是工程。 这些工程被定义为工程对象模型(POM,Poject Object Model)。 一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。Maven项目中的GAV模式。
当我们在项目中,创建一个dynimic web projiect项目。
--JAX-WS Web Service
--Java Resources
--JavaScript Resources
--Deployed Resources
--src
--main
--test
--target
pom.xml
首先,Java API for XML Web Services (JAX-WS)是Java程序设计语言一个用来创建Web服务的API。在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。当然 JAX-WS 也提供了一组针对底层消息进行操作的API调用,你可以通过Dispatch 直接使用SOAP消息或XML消息发送请求或者使用Provider处理SOAP或XML消息。用于编写接口。
src是source的简写,该目录下存放着源文件。
target目录下存放了编译生成的class文件,打包而成的jar文件,war文件。
分析:
这是我们项目的访问路径: http://localhost:8080/wstax/wstaxadapter/taxService/ 。首先打开src/main/webapp/WEB-INF/web.xml文件
<servlet> <servlet-name>SmartlaborServlet</servlet-name> <servlet-class>com.hp.it.wstax.adapter.servlet.SmartlaborServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SmartlaborServlet</servlet-name> <url-pattern>/taxService/fieldglass</url-pattern> </servlet-mapping>
然后,在路径src/main/java/com/hp/it/wstax/adapter/servlet/SmartlaborServlet.java
package com.hp.it.wstax.adapter.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hp.it.wstax.adapter.servlet.handler.AdapterServletHandler; import com.hp.it.wstax.adapter.t2.adapter.impl.SmartlaborAdapterService; /** * Servlet implementation class SmartlaborServlet */ public class SmartlaborServlet extends HttpServlet { private static final long serialVersionUID = 2825703009059954344L; /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { AdapterServletHandler handler = new AdapterServletHandler(); handler.handle(request, response, SmartlaborAdapterService.class.getSimpleName()); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException { String result = "The tax service can't available through GET method!"; response.getWriter().print(result); response.getWriter().flush(); response.getWriter().close(); } }
web容器在加载servlet的时候,已经给你创建好了输出流,你只要获取到使用就好了。response.getWriter()就是获取到了输出流。那么为什么还要.flush()方法呢?这个方法作用是在清空缓存区(输出流的实现是带缓冲的,你往里面写,不一定立刻输出而是要等待缓冲区满或者.flush()调用)。所以,它实现了清空缓冲区。.close()使用完流,一定要记得随手关闭。
3. Spring中的IOC和AOP,在该项目中的应用。
4. 利用profile构建不同的环境部署包。