java web的介绍
来源:互联网 发布:3d 打印 切片算法思想 编辑:程序博客网 时间:2024/06/05 07:01
一.java web发展过程
1.servlet 2.jsp 3.jsp model1(model和view混用) 4.jsp model2
5.spring 6.springmvc/struts2/webx 7.hibernate/mybatis
二 servlet
如图:
三 jsp
如图:
四 jsp model1
使用收集参数,在jsp里获取参数,业务及跳转 .如图:
五 jsp model2
在bean里实行获取参数,跳转,请求参数到模型没有封装,bean内跳转到”xxx.jsp”,和view层绑定严重。如图:
六 spring
ioc aop
1.id,name,scope 2.property type ref idref list map set property
3.constructor-arg index type 4.autowire by type byname 5.分散xml,property文件 __
6.连接数据库jdbc 7.aop MethodBeforeAdvice ProxyFactoryBean AfterReturningAdvice MethodInterceptor
ThrowsAdvice NameMatchMethodPointcut ControlFlowPointcut 7.Timertask SchedualedTimerTask
七 springmvc
(一).springmvc处理过程:
所有的请求转到DispatcherServlet来处理,先加载Spring 默认配置文件,路径为“/WEB-INF/[servlet名字]-servlet.xml”。
HandlerMapping用于从域名到哪个bean来处理,将对应的controller包装为HandlerExecutionChain
HandlerAdapter用于选择bean的什么方法来处理这个请求。将HandlerExecutionChain包装为SimpleControllerHandlerAdapter,然后调用对应bean的handleRequest方法,返回ModelAndView.
InternalResourceViewResolver使用JstlView渲染对应的ModelAndView为jsp文件显示.
HandlerExceptionResolver用于处理中间过程产生的异常.
ContextLoaderListener 初始化的上下文加载的Bean所在的xml文件是对于整个应用程序共享的,不管是使用什么表现层技术,一般如DAO层、Service层Bean;
DispatcherServlet 初始化的上下文加载的Bean 是只对Spring Web MVC 有效的Bean,如Controller、
HandlerMapping、HandlerAdapter等等,该初始化上下文应该只加载Web相关组件。
(二).springmvc内容
1. controller类型 MultiActionController,Controller,
2. PropertyEditorSupport类型转换
3. Validator验证器
4. springmvc 拦截器 HandlerInterceptor
5. springmvc 注解:url路径限定映射(@RequestMapping,@Controller),请求方法映射限定(method = RequestMethod.GET),请求参数数据映射限定(params=”submitFlag!=create”),请求头数据映射限定(headers = “!abc”),功能处理方法格式(ServletRequest/HttpServletRequest,InputStream/OutputStream,命令/表单对象),请求参数绑定(@RequestParam,@PathVariable,@CookieValue,@RequestHeader,@ModelAttribute,@SessionAttributes)
6. springmvc 数据验证
八 webx
(一).webx处理过程
对应的filter在xxx\src\main\webapp\WEB-INF目录下的webx**.xml中
1.请求处理过程.当一个HTTP请求到达时,首先由WebxFrameworkFilter接手这个请求.这个类在web.xml中配置.然后调用WebxRootController。WebxRootController对象存在于root context中,它被所有子应用所共享,由webx.xml配置。它会创建RequestContext实例,从而增强request、response、session的功能。接下来,WebxController对象会被调用。WebxController对象是由每个子应用独享的,子应用app1和app2可以有不同的WebxController实现。默认的实现,会调用pipeline。Pipeline也是由各子应用自己来配置的。假如pipeline碰到无法处理的请求,如静态页面、图片等,pipeline应当执行 valve强制退出。然后WebxRootController就会“放弃控制” —— 这意味着request将被返还给/WEB-INF/web.xml中定义的servlet、filter或者返还给servlet engine本身来处理。
2.pipeline配置.
处理过程见网页http://www.openwebx.org/docs/turbine.html .
重点:
对应的业务代码在main/java里面。对应的web页面在main/webapp/xxx/templates/screen/web里面.
(1)如果是performTemplateScreen.查找并执行screen这里要用到一个规则:target映射成screen module类名的规则。假设target为xxx/yyy/zzz,那么Webx Turbine会依次查找下面的screen模块:
screen.xxx.yyy.Zzz,
screen.xxx.yyy.Default,
screen.xxx.Default,
screen.Default。
本次请求的target为homepage,因此它会尝试查找screen.Homepage和screen.Default这两个类。
(2).如果是renderTemplate.这里用到两个规则:target映射成screen template,以及target映射成layout template。假设target为xxx/yyy/zzz,那么Webx Turbine会查找下面的screen模板:/templates/screen/xxx/yyy/zzz。Screen模板如果未找到,就会报404 Not Found错误。 找到screen模板以后,Webx Turbine还会试着查找下面的layout模板:
/templates/layout/xxx/yyy/zzz
/templates/layout/xxx/yyy/default
/templates/layout/xxx/default
/templates/layout/default
Layout模板如果找不到,就直接渲染screen模板;如果存在,则把渲染screen模板后的结果,嵌入到layout模板中。Layout模板和screen模板中,都可以调用control。每个页面只有一个screen,却可以有任意多个controls。
九 springmvc和webx区别
都是先有bean,再有页面,但是springmvc的页面路径是xml配置,webx的页面路径是约定路径。
webx的web页面渲染默认执行bean的public void execute(Context context)方法.json请求调用doXXX方法.
- java web的介绍
- Java web Filter的介绍及使用
- Java中常见的WEB服务器介绍
- Java Web Start介绍
- Java Web Start介绍
- java web 类介绍
- 【Java Web】: CSS 介绍
- Java Web 流行的的图表生成工具介绍
- 在介绍一本初学java web的好书
- java web Servlet及其相关类的介绍
- java中几种常见的Web Service框架介绍
- Java中最常见的5种Web服务器介绍
- Java中常见的5种WEB服务器介绍
- Web Service的介绍
- web的介绍
- Web 容器的介绍
- web开发的介绍
- Web Service的介绍
- java File中File.exists() 与 File.isFile()区别?
- 使用sessionstorage解决微信网页返回保留原状态的问题
- 排序算法——插入排序
- JVM研究之观测工具jstat详解
- TextVeiw 的自定义View
- java web的介绍
- SDNU 1217.CD收藏 并查集
- JEECG再创新举,开辟支付宝服务窗开发新时代,业内独家培训 《支付宝服务窗实战培训》
- robotframework运行时后台报错UnicodeDecodeError
- 【SQLServer】用于分割的sp
- SV语法个人小结
- EM算法逼近GMM参数针对二维数据点的python实现
- Java获取Properties文件中值的方法
- android不能使用json-lib-2.4-jdk15.jar,要使用自带的org.json包