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

上海城乡建设管理局网站php网站开发作业

上海城乡建设管理局网站,php网站开发作业,工作啦,下载图片的网站建设MVC 1. 什么是mvc开发模式2. 基于servlet手写mvc框架1. 什么是mvc开发模式 mvc不是一种技术#xff0c;只是一种开发模式使用分层开发模式能在大型项目中#xff0c;让开发人员更好的协同工作便于项目的维护和扩展 M: Model 模型层-数据库层-daoV: View 视图层-… MVC 1. 什么是mvc开发模式2. 基于servlet手写mvc框架1. 什么是mvc开发模式 mvc不是一种技术只是一种开发模式使用分层开发模式能在大型项目中让开发人员更好的协同工作便于项目的维护和扩展 M: Model 模型层-数据库层-daoV: View 视图层-收集和展示用户数据-html/jspC: Controller-数据封装-逻辑处理-流程控制-servlet/action/controller 2. 基于servlet手写mvc框架 什么是框架 是一种标准或者规范使用别人写好的东西按照他的制造好的轮子他的流程去开发我想要实现的功能提高开发效率降低开发成本。 框架的分类分为前后端框架 前端框架分为功能性的和美观性的功能性的 jQueryvueangular 判断数据合法性dom操作美观性的 bootstrapeasyuireactqucikui… 什么是mvc框架 mvc是后端框架专门用来解决controller与view层数据交互的问题对这个交互过程中的各种操作进行规范和封装让开发人员在开发web应用程序时对请求响应的控制更为方便数据层的访问不属于mvc框架内 mvc框架的职责 规范开发流程对请求数据进行封装如页面有100个表单 多个表单流程跳转的规范 是转发重定向还是js跳转 工作流程图 ActionServlet好比一个大哥 mvc框架的核心功能大哥接收到老板的任务接收到业务请求时安排小弟服务对象实现业务的类来完成任务小弟最后执行任务完成逻辑处理把结果返回大哥最后结果返回流程控制老板客户端。 基于servlet的mvc框架核心成员 ActionServlet servlet 接收特定的请求mvc框架的入口Action接口service方法规范所有小弟的服务方法小弟xxxAction实现接口完成逻辑处理为客户端提供服务.properties键值对配置文件描述业务请求与xxxAction类的路径 反射根据业务请求取到配置文件的服务类可封装response流输出js代码跳转 核心控制器ActionServlet 配置文件 servletservlet-nameActionServlet/servlet-nameservlet-classcom.lovely.mvc.ActionServlet/servlet-class/servletservlet-mappingservlet-nameActionServlet/servlet-nameurl-pattern*.do/url-pattern !-- 如接收query.do 的业务请求--/servlet-mappingaction接口规范服务类 package com.lovely.mvc;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public interface Action {// service服务方法接口返回要跳转的页面urlpublic String service(HttpServletRequest req, HttpServletResponse resp);} 创建配置文件核心控制器根据业务请求跳到对应的服务类完成业务 控制器代码 package com.lovely.mvc;import java.io.IOException; import java.io.InputStream; import java.util.Properties;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class ActionServlet extends HttpServlet {/*** 核心控制servlet* 根据访问方式 和 类的路径信息 到对应的servlet来处理*/private static final long serialVersionUID 1L;private Properties property null;Overridepublic void init() throws ServletException {property new Properties();// 加载配置文件InputStream in this.getServletContext().getResourceAsStream(/WEB-INF/config.properties);try {property.load(in);} catch (IOException e) {e.printStackTrace();} finally {try {if (in ! null)in.close();} catch (IOException e) {e.printStackTrace();}}}Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {String uri req.getRequestURI();String key uri.substring(uri.lastIndexOf(/) 1, uri.lastIndexOf(.));System.out.println(uri \t key);// 根据请求对象 拿到对应的类 进行服务String value property.get(key).toString();try {// 反射拿到类对象Class? c Class.forName(value);// 创建action对象Action action (Action) c.newInstance();String result action.service(req, resp);if (result ! null) {// 根据返回结果 决定是请求转发 还是重定向if (result.startsWith(forward)) {String path result.split(:)[1];req.getRequestDispatcher(path).forward(req, resp);} else if (result.startsWith(redirect)) {String path result.split(:)[1];resp.sendRedirect(req.getContextPath() path);} else {// 写路径默认请求转发req.getRequestDispatcher(result).forward(req, resp);} }} catch (ClassNotFoundException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}} 提供服务对象类以查询为例 package com.lovely.action;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.lovely.dao.CommonDao; import com.lovely.entity.Ticket; import com.lovely.mvc.Action;public class QueryAction implements Action {Overridepublic String service(HttpServletRequest req, HttpServletResponse resp) {CommonDao dao new CommonDao();req.setAttribute(list, dao.queryAll(Ticket.class));// 返回转发的地址return /list.jsp;}} 以上就算一个基于servlet实现的mvc框架了别人已经有更牛的框架这里只是拿来分析。上面的代码离不开数据库操作请看 反射和注解对dao层操作
http://www.zqtcl.cn/news/450058/

相关文章:

  • 动易网站后台修改栏目的字定制型网站设计价格
  • 设计网站页面临夏州建设厅官方网站
  • 给别人做网站需要什么许可证大连做网站开发的公司
  • 哪些网站国内打不开线下推广小组为了推广开放文明环境地图
  • 电子商务网站建设的核心网站收录检测
  • 厦门中小企业建网站补助源码做微信电影网站
  • 利用表单大师做网站网站备案证书放到哪里
  • 辽宁省建设科学研究院网站asp.net做网站 推荐书籍
  • 网站解决访问量超载做国外营销型网站设计
  • 思科中国网站开发案例网站如何进行建设
  • 网页设计与网站建设郑州大学怎么在传奇网站上做宣传
  • 中国建设银行重庆网站首页sns网站需求
  • 外网常用网站全网网站建设设计
  • 成都建设网站费用做数据库与网站招什么人
  • 最好的wordpress教程啥叫优化
  • 哪个网站做网销更好网站流量流出异常
  • 广州网站定做纸箱手工制作大全
  • 数据库修改网站后台密码cms三合一网站源码
  • 一般做哪些外贸网站丰南建设局网站
  • 网站如何被收录情况自己做的网站如何实现下载文件
  • 龙岩网站设计一般要多久深圳做自适应网站设计
  • 类似于拼多多的网站怎么做资料下载网站建设
  • 做商城网站哪里网站官网建设的价格
  • 网站怎么做用户体验山东富国建设投资有限公司网站
  • app ui模板网站首页改版影响优化
  • 周村网站制作哪家好网站设计基本要素
  • 网站制作与维护费用wordpress文章页不显示侧边
  • 嘉兴网站建设正规公司做室内设计人喜欢的网站
  • 入侵dedecms网站管理员密码百度注册域名免费建站
  • 找晚上做的工作去哪个网站企业开发软件公司拓展方案