Explicação detalhada e resumo do processo de desenvolvimento JAVAEE (front-end + back-end) sistema de gestão hoteleira - design do curso

I. Visão geral

Devido ao aumento do número de integrantes da equipe, o projeto original do shopping center foi substituído pelo projeto "sistema de gestão hoteleira".
Aprender sem resumir é equivalente a aprender em vão, Corrigido na revisão final + revisão de pós-graduação, tire um tempo e registre aqui.
Nota: Este artigo apresenta principalmente a função de login do usuário

Em segundo lugar, a base do conhecimento

1. O que é MVC

O padrão MVC significa o padrão Model-View-Controller. Esse padrão é usado para desenvolvimento em camadas de aplicativos.

  • Model - Model representa um objeto ou JAVA POJO que acessa dados. Ele também pode ter lógica para atualizar o controlador quando os dados forem alterados.
  • View Views representam visualizações dos dados contidos no modelo.
  • Controlador - Os controladores atuam em modelos e visualizações. Ele controla o fluxo de dados para objetos de modelo e atualiza as visualizações à medida que os dados são alterados. Ele mantém a visão separada do modelo.


Use esta imagem para ilustrar o problema e exclua-o.
Isso torna o padrão de projeto MVC mais simples e claro.

2. O que é SSM

Conhecendo o nome, insira a descrição da imagem aqui
observe que quando utilizamos o framework SSM para desenvolvimento de projetos, para melhor desacoplar o código, adicionamosServiçocamada

insira a descrição da imagem aqui
insira a descrição da imagem aqui

A camada de serviço é construída na camada DAO. Depois que a camada DAO é estabelecida, a camada de serviço pode ser estabelecida, e a camada de serviço está sob a camada de controlador. Portanto, a camada de serviço não deve apenas chamar a interface da camada DAO, mas também fornece uma interface para A classe da camada Controller é chamada, que por acaso está em uma camada intermediária. Cada modelo tem uma interface de serviço e cada interface encapsula seus próprios métodos de processamento de negócios.

Usamos um diagrama para ilustrar o fluxo de trabalho dessas quatro camadas.
insira a descrição da imagem aqui

3. O SSM atribui tarefas a 4 camadas

1. Spring MVC + spring
+ mybatis é um padrão de design MVC padrão, que divide todo o sistema em camada de exibição, camada de controlador, camada de serviço e camada DAO. O Spring MVC é usado para encaminhamento de solicitações e gerenciamento de visualização para realizar o gerenciamento de objetos de negócios. mybatis como um mecanismo de persistência para objetos de dados.
2. Spring é uma estrutura de código aberto Spring é uma estrutura de contêiner leve de Inversão de Controle (IoC) e Orientada a Aspectos (AOP), que pode integrar melhor outras estruturas.
3. O framework Spring MVC possui um framework MVC que separa bem dados, negócios e apresentação através da implementação do padrão Model-View-Controller.
4. MyBatis é uma estrutura de camada de persistência baseada em Java

4. Introdução ao JavaScript

insira a descrição da imagem aqui
Porque no JSP front-end, usamos JS no formulário From. Para uma melhor descrição abaixo, vamos explicar aqui primeiro. Com a introdução do projeto abaixo, iremos analisá-lo mais a fundo.
URL de aprendizagem JavaScript W3School

5. O que é um servlet

1. Uma classe na biblioteca java, Servlet é um programa executado no lado do servidor. Quando o contêiner da web é iniciado e executado, a classe servlet é inicializada.
3. Quando o usuário insere a url pelo navegador, a solicitação chega ao servlet para recebê-la e processá-la de acordo com a configuração do servlet.
Normalmente, diferentes contêineres da web são usados ​​no projeto, eu uso o Tomcat mais comum aqui. Crie um projeto web java no eclipse, haverá uma pasta WEB-INF, para não ser facilmente acessado pelo mundo externo, os arquivos nesta pasta estão protegidos. A pasta inclui um arquivo de configuração muito importante, web.xml.Os diferentes Serviets que queremos implementar também devem ser configurados aqui antes de serem usados.

Para mais detalhes, você pode dar uma olhada neste post do blog, o grandalhão explicou muito bem

6.DespachoServlet

O controlador front-end (DispatcherServlet) é semelhante ao Servlet anterior, que é usado para receber solicitações de usuários.
SpringMVC também é uma implementação de Servlet, mas SpringMVC adiciona um DispatchServlet, todas as solicitações http são mapeadas para este Servlet, e as solicitações entram após Ao entrar neste servlet, mesmo que ele entre no framework, o servlet distribuirá uniformemente solicitações http para cada Controller.

3. O projeto percorre

1. Configurar web.xml

insira a descrição da imagem aqui

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name></display-name>
  <!--实例化spring的容器 -->
  <context-param>
  <!-- 指定一下applicationContext的路径 -->
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml,classpath:spring-mybatis.xml</param-value>
  </context-param>
  <listener>
    <description>spring监听器</description>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码-->
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
  <servlet>
    <description>springmvc servlet</description>
    <servlet-name>springMvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <description>springmvc 配置文件</description>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <init-param>
      <param-name>activeReverseAjaxEnabled</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springMvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <!-- 欢迎页,用于当用户在url中输入项目名称或者输入web容器url(如http://localhost:8080/)时直接跳转的页面.-->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

2. Digite o URL para entrar na página inicial de login

insira a descrição da imagem aqui
O código front-end é descrito em detalhes abaixo

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
  <head>
    <title>酒店管理系统</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="${pageContext.request.contextPath }/css/bootstrap.min.css" type="text/css"></link>
    <link rel="stylesheet" href="${pageContext.request.contextPath }/css/mycss.css" type="text/css"></link>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/bootstrapValidator.min.js"></script>
   <script>
        $(function(){
    
    
            $('#frmLogin').bootstrapValidator({
    
    
                feedbackIcons:{
    
    
                    valid:'glyphicon glyphicon-ok',
                    invalid:'glyphicon glyphicon-remove',
                    validating:'glyphicon glyphicon-refresh'
                },
                fields:{
    
    
                		userName:{
    
    
                        validators:{
    
    
                            notEmpty:{
    
    
                                message:'用户名不能为空'
                            }
                        }
                    },
                    password: {
    
    
                        validators: {
    
    
                            notEmpty: {
    
    
                                message: '密码不能为空'
                            }
                        }
                    }
                }
            });
        });
    </script>    
    
  </head>
  <body>
  	<!-- 使用自定义css样式 div-signin 完成元素居中-->
    <div class="container div-signin">
      <div class="panel panel-primary div-shadow">
      	<!-- h3标签加载自定义样式,完成文字居中和上下间距调整 -->
	    <div class="panel-heading">
	    	<h3>酒店管理系统</h3>
	    	<span>Hotel Management System</span>
	    </div>
	    <div class="panel-body">
	      <!-- login form start -->
	      <form action="${
    
    pageContext.request.contextPath }/Login/tomain.do" class="form-horizontal" 
	      method="post" id="frmLogin">
		     <div class="form-group">
		       <label class="col-sm-3 control-label">用户名:</label>
		       <div class="col-sm-9">
		         <input class="form-control" type="text" placeholder="请输入用户名" name="userName">
		       </div>
		    </div>
		     <div class="form-group">
		       <label class="col-sm-3 control-label">密&nbsp;&nbsp;&nbsp;&nbsp;码:</label>
		       <div class="col-sm-9">
		         <input class="form-control" type="password" placeholder="请输入密码" name="password">
		       </div>
		    </div>
		    <div class="form-group">
		       <div class="col-sm-3">
		       </div>
		       <div class="col-sm-9 padding-left-0">
		       	 <div class="col-sm-4">
			         <button type="submit" class="btn btn-primary btn-block">登&nbsp;&nbsp;录</button>
		       	 </div>
		       	 <div class="col-sm-4">
			         <button type="reset" class="btn btn-primary btn-block">重&nbsp;&nbsp;置</button>
		       	 </div>
		       	 <div class="col-sm-4" style="padding:0;margin-left:-10px;width:auto;padding-top: 5px;">
		       	 	<c:if test="${msg!=null }">
			       		<span class="text-danger">${
    
    msg}</span>
			       </c:if>
		       	 </div>
		       </div>
		    </div>
	      </form>
	      <!-- login form end -->
	    </div>
	  </div>
    </div>
    <!-- 页尾 版权声明 -->
    <div class="container">
		<div class="col-sm-12 foot-css">
		        <p class="text-muted credit">
		            <!-- Copyright &copy;  版权所有 -->
		        </p>
	    </div>
    </div>
  </body>
</html>

insira a descrição da imagem aqui


insira a descrição da imagem aqui

insira a descrição da imagem aqui
insira a descrição da imagem aqui
insira a descrição da imagem aqui
Grave aqui primeiro e continue quando tiver tempo.

Acho que você gosta

Origin blog.csdn.net/qq_30336973/article/details/118161324
Recomendado
Clasificación