当前位置: 首页 > news >正文

织梦cms做好的网站怎样上传到服务器东莞网站制作咨询祥奔科技

织梦cms做好的网站怎样上传到服务器,东莞网站制作咨询祥奔科技,深圳防疫政策最新,写网站的教程2019独角兽企业重金招聘Python工程师标准 介绍 MVC#xff1a;Model-View-Controller#xff0c;包括三类对象#xff0c;Model模型对象、View视图表示、Controller控制器。在应用MVC方式以前#xff0c;通常将这三个对象的功能合到了一起#xff0c;通过分… 2019独角兽企业重金招聘Python工程师标准 介绍 MVCModel-View-Controller包括三类对象Model模型对象、View视图表示、Controller控制器。在应用MVC方式以前通常将这三个对象的功能合到了一起通过分离 模型、视图和控制器可以更容易实现灵活性和可重用性。 view和model为观察者和被观察者关系。分离view和model对象减少对象之间的藕和性这样当一个对象改变时将不会影响到另外的对象甚至不需要知道另外的对象的实现细节。 Controller定义了对用户输入的处理方式指Web开发人员编写的处理不同URL。把用户输入的处理方式封装为控制器。视图对象通过某一控制器对象的实例来实现特定的响应策略。为了实现不同的策略可以简单的使用不同的控制器实例来替换当前的实例。甚至可以在运行时来改变视图的控制器以改变视图对象对用户输入的响应。视图和控制器为策略模式关系。 IOC容器依赖注入。由IOC容器来管理对象的生命周期、依赖关系等从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配置文件进行应用程序组件间相互关系的配置而不用重新修改并编译具体的代码。 拦截器是AOP中的概念它本身是一段代码可以通过定义“织入点”来指定拦截器的代码在“织入点”的前后执行从而起到拦截的作用。 设计 前置控制器DispatcherServlet.java他只干了2件事1、负责初始化。2、接收所有的请求给处理这。 初始化DispatcherServlet初始化了系统编码等控制器的初始化由持有者完成。看下DispatcherServlet.java代码 package cn.eternal;import java.io.IOException;import javax.servlet.GenericServlet; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;import cn.eternal.config.Config;public class DispatcherServlet extends GenericServlet {private final Log log LogFactory.getLog(getClass());private Dispatcher dispatcher;Overridepublic void init(final ServletConfig config) throws ServletException{super.init(config);log.info(Init Config...);this.dispatcher new Dispatcher();this.dispatcher.init(new Config() {public String getInitParameter(String name) {return config.getInitParameter(name);}public ServletContext getServletContext() {return config.getServletContext();}});}Overridepublic void service(ServletRequest req, ServletResponse resp) throws IOException{HttpServletRequest httpReq (HttpServletRequest) req;HttpServletResponse httpResp (HttpServletResponse) resp;String method httpReq.getMethod();if (GET.equals(method) || POST.equals(method)) {dispatcher.service(httpReq, httpResp);}else{httpResp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);}}Overridepublic void destroy() {this.dispatcher.destroy();} } Dispatcher.java package cn.eternal;import java.io.IOException;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.digester.Digester; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.xml.sax.SAXException;import cn.eternal.config.CommonsConfig; import cn.eternal.config.Config; import cn.eternal.container.Container; import cn.eternal.handler.Handler; import cn.eternal.util.CommonUtil;class Dispatcher {private final Log log LogFactory.getLog(getClass());private ServletContext servletContext;public void init(Config config) throws ServletException {this.servletContext config.getServletContext();try {String maxFileSize config.getInitParameter(max_file_size);if (maxFileSize!null) {try {long n Long.parseLong(maxFileSize);if (n0)throw new NumberFormatException();log.info(Init max_file_size n);CommonsConfig.setMaxFileSize(n);}catch (NumberFormatException e) {log.warn( Init Invalid max_file_size value maxFileSize , using default.);}}String encoding config.getInitParameter(encoding);if(encoding!null){log.info(Init encoding encoding);CommonsConfig.setEncoding(encoding);}String systemTitle config.getInitParameter(system_title);if(systemTitle!null){log.info(Init system_title systemTitle);CommonsConfig.setEncoding(systemTitle);}initDatabase();Container.init(config);}catch (Exception e) {throw new ServletException(DispatcherServlet init failed., e);}}private void initDatabase() {try {Digester digester new Digester();digester.setValidating(false);digester.addObjectCreate(database, cn.eternal.config.CommonsConfig);digester.addCallMethod(database/database, setDatabase, 0);digester.addCallMethod(database/driver, setDriver, 0);digester.addCallMethod(database/login, setLogin, 0);digester.addCallMethod(database/password, setPassword, 0);String contextRealPath servletContext.getRealPath(/);String prefix CommonUtil.replaceAllOccurances(contextRealPath, \\, /);if (prefix.endsWith(/)) {prefix prefix.substring(0, prefix.length() - 1);}digester.parse(prefix/WEB-INF/db.xml);log.info(Init Database Success);} catch (IOException e) {log.error(Init Database 错误没有找到/WEB-INF/db.xml文件。, e);} catch (SAXException e) {log.error(Init Database 文件db.xml中包含错误信息。e.getMessage(), e);}}public void service(HttpServletRequest req, HttpServletResponse resp){String url req.getRequestURI();log.info(Handle Url url);String path req.getContextPath();if (path.length()0){url url.substring(path.length());}Handler handler new Handler();try {handler.handle(url,req, resp,servletContext);} catch (Exception e) {e.printStackTrace();}}public void destroy() {log.info(Destroy Dispatcher...);Container.destroy();} }   转载于:https://my.oschina.net/eternal/blog/100620
http://www.sadfv.cn/news/247848/

相关文章:

  • jsp网站开发怎么调试wordpress移到根目录
  • 网站平台建设要多久短视频seo优化
  • 深圳市制作网站响应式网站开发原理
  • 加快政务公开网站建设专业网站建设最便宜
  • 公司网站页面设计做驾校题目用什么网站好
  • 政法网 网站建设wordpress最新文章列表插件
  • 域名注册成功怎么做网站个人网站设计的参考文献
  • 广安发展建设集团门户网站网站关键词优化培训
  • .我爱你 网站我想学网站建设
  • 网站商城怎么做盐城哪里做网站
  • 网站域名怎么修改wordpress500错误
  • 美工做图片网站怎样在建设厅网站里查开发商
  • 龙之向导外贸网站网址临沂做网络优化的公司
  • 网站域名dns小白怎么建设网站
  • 网站建设的服务怎么样佛山网站建设网站
  • 中小型企业网站开发免费网络加速
  • 网站建设大题点击未来网站建设
  • 成都设计网站的公司哪家好如何处理并发量大的购物网站
  • 建一个设计网站要多少钱石家庄有那些网站开发公司
  • 自学搭建网站网站推广目标计划
  • 葡京网站做中间商网站分析一般要重点做哪几项内容
  • 外贸网站设计公司wordpress 首页 矩阵
  • 企业网站开发所需要的模块八里河风景区网站建设设计概述
  • 建设网站的本质网站开发一般学多久
  • 六安房产网优化营商环境个人心得体会
  • 利于seo的网站设计大连开发区信息服务平台
  • 一站式网站建设报价网页设计与制作用什么软件做
  • 做网站必须会php吗seo属于什么职位类型
  • 建企业网站公司hexo导入wordpress
  • 沈阳市建设工程项目管理中心网站旅游网站的建设方式