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

农业公司网站建设方案wordpress翻页

农业公司网站建设方案,wordpress翻页,wordpress 文章列表页,网站建设公司专业网站企业开发Java Web开发模式 一、Java Web开发模式 1.javaBean简介 JavaBeans是Java中一种特殊的类#xff0c;可以将多个对象封装到一个对象#xff08;bean#xff09;中。特点是可序列化#xff0c;提供无参构造器#xff0c;提供getter方法和setter方法访问对象的属性。名称中…Java Web开发模式 一、Java Web开发模式 1.javaBean简介 JavaBeans是Java中一种特殊的类可以将多个对象封装到一个对象bean中。特点是可序列化提供无参构造器提供getter方法和setter方法访问对象的属性。名称中的“Bean”是用于Java的可重用软件组件的惯用叫法。 --from 维基百科 JavaBean是一种可重复使用、且跨平台的软件组件。JavaBean可分为两种 一种是有用户界面UIUser Interface的JavaBean另一种是没有用户界面主要负责处理事务如数据运算操纵数据库的JavaBean 1)特点: JavaBean是一种Java类而且是一种特殊的、可重用的类。JavaBean必须具有无参数的构造器所有的属性都是private的通过提供setter和getter方法来实现对成员属性的访问。Javabean 是为了和 jsp 页面传数据化简交互过程而产生的。 2.开发模式分类 模式一JSPJavaBean: 简便、灵活在小规模、业务逻辑简单的项目开发中有一定优势开发效率高 JSP页面通过JavaBean处理数据响应请求并返回结果 模式二JSPServletJavaBean: 程序层次清晰、分工明确可维护性、扩展性高尤其在规模较大或是业务逻辑复杂的项目中倾向使用 1)模式一特点 模式 一 体系结构用于开发简单的应用程序模式 一体系结构包括多个用户可与之交互的页面客户端能够直接访问到服务器上的JSP页面在采用模式 一 开发的Web 应用程序中混杂了大量的业务逻辑代码HTML内容、Java代码交织在一起使程序的维护性和扩展性较差在JSP页面中可以通过链接等方式直接转向其他页面。在业务逻辑较为复杂的项目中管理页面流程较为困难。 2)模式二特点 模式 二 体系结构结合使用 JSP 页面、Servlet和 JavaBean 来开发 Web 应用程序 二、MVC模式 1.简介 MVC是英文“Model-View-Controller”的缩写最初是在Smalltalk-80中被用来构建用户界面的。其中M代表模型ModelV代表视图ViewC代表控制器Controller。 通过模型视图控制器来 采用MVC模式的目的就是为了增加代码的重用率减少数据表达、数据描述和提高应用操作的偶合度。同时也使得软件的可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。 2.MVC模式结构 MVC把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离这样一个应用将被分成三层模型层、视图层、控制层。 输入模型层(Model)处理视图层(View)输出控制层(Controller) controller负责处理客户端发送的请求,经过service层业务处理并间接调用mapper接口层的数据库操作,后将结果返回给视图层 客户端请求controllerservicemapper 1)Model层 分为: DAO层、service层 DAO层: 负责访问数据库进行数据的操作取得结果集之后将结果集中的数据取出封装到VO类对象之后返回给service层 负责数据库操作,取得结果返回给service层 public interface HrMapper {int deleteByPrimaryKey(Long id);int insert(Hr record);int insertSelective(Hr record);Hr selectByPrimaryKey(Long id);int updateByPrimaryKeySelective(Hr record);int updateByPrimaryKey(Hr record);Hr login(Param(username) String username, Param(password) String password);ListHr queryAll();ListHr queryByUsername(String username); }service层: 主要负责一些业务处理比如多个操作需要放在一个事务中进行管理事务回滚,一些复杂的逻辑业务处理就放到service层 通过调用DAO层接口实现业务功能 Service层的业务实现具体要调用到已定义的DAO层的接口。封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性。 Service(hrService) public class HrServiceImpl implements HrService {Autowiredprivate HrMapper hrMapper;Overridepublic Hr login(String username, String password) {return hrMapper.login(username, password);}Overridepublic ListHr queryAll() {return hrMapper.queryAll();}Overridepublic int insertSelective(Hr record) {return hrMapper.insertSelective(record);}Overridepublic int deleteByPrimaryKey(Long id) {return hrMapper.deleteByPrimaryKey(id);}Overridepublic Hr selectByPrimaryKey(Long id) {return hrMapper.selectByPrimaryKey(id);}Overridepublic int updateByPrimaryKeySelective(Hr record) {return hrMapper.updateByPrimaryKeySelective(record);}Overridepublic ListHrqueryByUsername(String username) {return hrMapper.queryByUsername(username);} }2)View层 负责处理用户界面的显示细节以及如何向用户展示业务处理的结果(页面效果) % page importcom.woniuxy.hrms.entity.Hr % % page importjava.util.List % % page contentTypetext/html;charsetUTF-8 languagejava % % taglib prefixfmt urihttp://java.sun.com/jsp/jstl/fmt %%String path request.getContextPath();String basePath request.getScheme() :// request.getServerName() : request.getServerPort() path /; % base href%basePath%/ !DOCTYPE htmlheadmeta charsetUTF-8titleTitle/title /head link relstylesheet typetext/css hrefstatic/bootstrap/css/bootstrap.min.cssscript typetext/javascript srcstatic/bootstrap/js/bootstrap.min.js/script script typetext/javascript srcstatic/bootstrap/js/jquery.min.js/script script typetext/javascriptfunction check(id) {var flag confirm(确认要删除吗?);if (flag) {//删除确认,服务器请求跳转至delete方法处理数据库数据location.href hr/delete?id id;}} /scriptbody div classcontainer stylepadding-top: 40px;div classform-groupdiv classrowdiv classcol-md-8form idsearchForm actionhr/queryByUsername methodpostinput typetext classform-control idselectUserName nameusernameplaceholder请输入用户名/button typesubmit classbtn btn-danger search idsearchBtn搜索/button/form/divdiv classcol-md-3a classbtn btn-round btn-square btn-default hrefmanage/hr/add.jsp添加iclassmdi mdi-eye/i/a!-- button classbtn btn-default add data-togglemodal data-target#addModel增加/button--/div/div/div%ListHr list (ListHr) request.getAttribute(list);%table classtable table-bordered text-centertrtd编号/tdtd姓名/tdtd用户名/tdtd电话/tdtd地址/tdtd操作/td/tr%-- 迭代集合--%%for (Hr hr : list) {%trtd%hr.getId()%/tdtd%hr.getRealName()%/tdtd%hr.getUsername()%/tdtd%hr.getPhone()%/tdtd%hr.getAddress()%/tdtd%-- 点击编辑链接,传递当前对象id,并向服务器发送请求--%%-- hrefhrms/queryById?id%hr.getId()% 查询字符串以?字符开始 --%%-- %hr.getId()%jsp脚本表达式 --%a classbtn btn-round btn-square btn-info hrefhr/queryById?id%hr.getId()%编辑iclassmdi mdi-eye/i/aa classbtn btn-round btn-square btn-warning hrefjavascript:check(%hr.getId()%)删除iclassmdi mdi-eye/i/a/td/tr%}%/table /div /body /html3)Cotroller层 处理客户端请求 叫做控制层主要的功能是处理用户发送的请求。 负责协调视图与模型在两者之间处于桥梁和纽带的位置 public class BaseServlet extends HttpServlet {//HttpServlet生命周期: 初始化init(),服务运行service(),销毁destroy()//1.init()仅加载一次//2.service()随时响应客户端请求,每次获取请求对象调用此方法//3.destroy()仅调用一次, 释放servlet所占用的资源。如关闭文件输入输出流关闭与数据库的连接。//多次调用,每次服务器获取请求对象调用service方法,随时响应客户端请求Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获取请求路径String requestURI req.getRequestURI();//检索请求路径最后的方法名String methodName requestURI.substring(requestURI.lastIndexOf(/) 1);Method declaredMethod;try {//动态调用对象方法declaredMethod this.getClass().getDeclaredMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);declaredMethod.invoke(this, req, resp);} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {throw new RuntimeException(e);}} }WebServlet(value /hr/*, loadOnStartup 1) public class HrServlet extends BaseServlet {HrService hrService;Overridepublic void init(ServletConfig config) throws ServletException {ClassPathXmlApplicationContext applicationContext new ClassPathXmlApplicationContext(spring-config.xml);//config.getServletContext()创建ServletContext对象,用来存储applicationContext对象,整个Web应用范围内访问它config.getServletContext().setAttribute(applicationContext, applicationContext);hrService applicationContext.getBean(hrService, HrService.class);}protected void queryByUsername(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username req.getParameter(username);ListHr list hrService.queryByUsername(username);list.forEach(System.out::println);req.setAttribute(list, list);req.getRequestDispatcher(../manage/hr/show.jsp).forward(req, resp);}protected void queryAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ListHr list hrService.queryAll();req.setAttribute(list, list);req.getRequestDispatcher(../manage/hr/show.jsp).forward(req, resp);}protected void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // req.setCharacterEncoding(utf-8);Hr hr new Hr();hr.setRealName(req.getParameter(realName));hr.setUsername(req.getParameter(username));hr.setAddress(req.getParameter(address));hr.setPhone(req.getParameter(phone));System.out.println(hr);int i hrService.insertSelective(hr);//数据库添加数据,并重新调用queryAll走页面展示流程queryAll(req, resp);}protected void queryById(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String id req.getParameter(id);Hr hr hrService.selectByPrimaryKey(Long.parseLong(id));req.setAttribute(hr, hr); // 跳转页面,带着对象forward(),地址栏不变req.getRequestDispatcher(../manage/hr/update.jsp).forward(req, resp); // 单纯跳转页面,并不能携带对象,地址栏更新 // resp.sendRedirect(/hr/update.jsp);}protected void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // req.setCharacterEncoding(utf-8);Hr hr new Hr();//更新必须有id,负责更新所有内容,依据id更新// where dept_id #{deptId,jdbcTypeINTEGER}//获取页面update.jsp请求对象传递的参数hr.setId(Integer.parseInt(req.getParameter(id)));hr.setRealName(req.getParameter(realName));hr.setUsername(req.getParameter(username));hr.setAddress(req.getParameter(address));hr.setPhone(req.getParameter(phone));int update hrService.updateByPrimaryKeySelective(hr);//更新完显示全部数据(查询全部数据反馈给show.jsp)queryAll(req, resp);}protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String id req.getParameter(id);hrService.deleteByPrimaryKey(Long.parseLong(id));queryAll(req, resp);}protected void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//负责处理login.jsp提交//获取提交对象的username和passwordString username req.getParameter(username);String password req.getParameter(password);Hr hr hrService.login(username, password);//HttpSession session req.getSession();session.setAttribute(hr, hr);if (hr ! null) {//本地存储,在浏览器存储数据Cookie[] cookies req.getCookies();boolean flag false;for (Cookie cookie : cookies) {String name cookie.getName();if (name.equals(username)) {flag true;}}if (!flag) {Cookie username1 new Cookie(username, username);Cookie password1 new Cookie(password, password);//设置cookie存储路径username1.setPath(/hrms);password1.setPath(/hrms);username1.setMaxAge(60 * 60 * 24);password1.setMaxAge(60 * 60 * 24);resp.addCookie(username1);resp.addCookie(password1);}//路径可以: ../或/hrms根路径下的页面resp.sendRedirect(/hrms/admin.jsp);} else {resp.sendRedirect(../login.jsp);}} }3.MVC的优点 1、耦合性低 视图层和业务层分离这样就允许更改视图层代码而不用重新编译模型和控制器代码同样一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离所以很容易改变应用程序的数据层和业务规则。 2、重用性高 MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码因为多个视图能共享一个模型它包括任何WEBHTTP浏览器或者无线浏览器wap比如用户可以通过电脑也可通过手机来订购某样产品虽然订购的方式不一样但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化所以同样的构件能被不同的界面使用。 3、部署快生命周期成本低 MVC使开发和维护用户接口的技术含量降低。使用MVC模式使开发时间得到相当大的缩减它使程序员Java开发人员集中精力于业务逻辑界面程序员HTML和JSP开发人员集中精力于表现形式上。 4、可维护性高 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 4.MVC框架 Struts2框架Struts2是基于MVC的轻量级的web应用框架 规则。 2、重用性高 MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码因为多个视图能共享一个模型它包括任何WEBHTTP浏览器或者无线浏览器wap比如用户可以通过电脑也可通过手机来订购某样产品虽然订购的方式不一样但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化所以同样的构件能被不同的界面使用。 3、部署快生命周期成本低 MVC使开发和维护用户接口的技术含量降低。使用MVC模式使开发时间得到相当大的缩减它使程序员Java开发人员集中精力于业务逻辑界面程序员HTML和JSP开发人员集中精力于表现形式上。 4、可维护性高 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 4.MVC框架 Struts2框架Struts2是基于MVC的轻量级的web应用框架 SpringMVCSpring家族产品我们后期重点使用的框架
http://www.pierceye.com/news/495697/

相关文章:

  • 做网站的会计分录广州公司注册需要什么条件
  • 小米4路由器可以做网站嘛服务类网站建设服务公司
  • 电子商务网站建设规划书实例注册微信公众平台
  • 网站设计课程总结线上营销方案
  • 谷城网站建设网站集群建设实施方案
  • 怎么做外贸生意谷歌seo服务
  • 做网站好还是做淘宝好市场调研模板
  • 网站做换肤做一个平台费用是多少
  • 省内注销二建 建设部网站更新慢网站建设合同书封皮
  • 天津城市建设网站营销型网站的好处
  • 网站建设维护文档好看的页面
  • 网站搜索优化官网网站建设在电子商务中的作用的看法
  • 网站推广费用价格html大屏展示模板
  • 编辑网站用什么软件网站开发人员职责
  • 网站搜索引擎提交wordpress发布站点
  • 阳春网站建设天水网站seo
  • 仙桃市建设局网站wordpress链接前面的图标
  • 温州市城乡建设建档案馆网站公司装修费用可以一次性入账吗
  • 房地产开发公司网站宠物网页设计模板
  • 网站备案信息可以改吗中国做二手房最大的网站
  • 设计 企业网站罗湖网站-建设深圳信科
  • 太原自助模板建站手机版电脑qq登录入口
  • 公司网站建设哪家比较好app 网站
  • 建设银行个人网站打不开个人主页模板下载
  • 山西建设公司网站wordpress视频适应手机端
  • 原型样网站做一般的公司门户网站投资额
  • 南宁百度网站公司电话网站配置优化
  • 德州网站建设的公司免费注册公司怎么注册
  • 成都开发网站建设中国建设规划采购网站
  • 企业网站建设应避免数据孤岛深圳东莞网站建设