0. 앞에 쓰십시오
친절한 팁 : 다운로드 주소는 다음과 같습니다.
프로젝트는 기본적으로 완료되었습니다. 이 요약을 통해이 프로젝트와 관련된 30 개의 블로그를 작성했습니다. 블로그를 작성하는 과정은 아이디어를 강화하는 과정입니다. 그것은 나 자신에게 매우 유용하며 다른 사람들을 도울 수 있습니다. 그건 그렇고, 학습 과정에서 많은 예외가있을 것입니다. 우리가해야 할 첫 번째 일은이 예외를 찾는 것입니다. 일반적으로 : xxx에 의해 발생하는 것 이상으로 인해 발생합니다. 이것이 예외의 원인입니다. 일반적으로, 우리는 바닥으로 인한 것을 찾습니다. 이는 종종 문제의 근원입니다. 직접 해결할 수 없다면 Google 또는 Baidu에서 검색 할 수 있습니다 (검색 할 때 많은 이상을 게시하지 말고 주요 부품에주의를 기울이십시오!). 일반적으로, 우리가 직면 한 문제의 99.9%가 우리의 전임자들이 직면했으며 기본적으로 모든 문제를 해결할 수 있습니다. 나는 기본적으로 해결할 수없는 문제를 겪을 때 이것을한다. 내가 그들을 더 많이 해결한다면, 나는 그것을 느낄 것입니다 ~ 마침내, 나는 내 블로그를 읽을 때 모든 사람들이 무언가를 얻을 수 있기를 바랍니다!
나는 말도 안되는 말을하지 않을 것입니다. 아래 온라인 쇼핑몰의 프로젝트를 요약하겠습니다. 나는 모든 것을 다루지 않을 것입니다. 어떤 기술이 사용되는지 등을 포함하여 주로 여러 모듈로 나뉩니다. 기사의 특정 세부 사항에 대한 빠른 링크를 첨부하겠습니다. 특정 기사를 확인할 수 있습니다.
이 프로젝트를 리콜하면이 주요 모듈로 나눌 수 있습니다.
--- 프로젝트 환경 구축
--- 백엔드 관리 시스템을 구축하십시오
--- 프론트 데스크 디스플레이 페이지를 작성하십시오
--- 쇼핑 카트 관련 기능
--- 온라인 결제 기능
--- 이메일 및 문자 메시지를 보내십시오
--- 도메인 이름 응용 프로그램 및 프로젝트 배포
--- 확인 및 보고서 표시
다음은 각 모듈에 대한 특정 분석입니다.
1. 프로젝트 환경의 구성
이것은 모든 프로젝트에서 필수 링크이며 많은 지저분한 문제가있을 것입니다. SSH를 처음 배우기 시작했을 때, 나는 숙련되지 않았기 때문에 항상 환경을 구축하는 데 어려움을 겪었지만 "리듬 적으로"그것을 만들고 싶었습니다. 즉, 환경 프로젝트를 구축하려면 단계별로 조금씩 필요합니다. 많은 사람들이 모든 항아리 패키지를 가져온 다음 모든 구성 파일을 작성하거나 다른 장소에서 붙여 넣은 다음 실행 한 다음 매달린 다음 다양한 문제를 찾습니다. 왜 귀찮게? 이런 식으로 10 번 구축하더라도 쉽게 할 수 없습니다. 한 입에 쌀을 먹어야하며 단계적으로 걸어야합니다.
SSH 환경 구성을 위해 개인적으로 따르는 과정은 다음과 같습니다.
스프링> 최대 절전 모드> 스프링 통합 최대원체> struts2> 스프링 통합 struts2
각 단계 후에 테스트 테스트를 작성하십시오. 단계별로 가면 실수를 저지르면 어디로 가야할지 알게되고 문제를 어디에서 찾을 수 있는지 알 수 있기 때문에 이것은 매우 중요합니다. 가장 중요한 것은이 과정에서 능숙 해지면 다음에 환경을 쉽게 얻을 수 있다는 것입니다. SSH 환경 구성에 대한 자세한 내용은 다음 기사를 참조하십시오.
Struts2, Hibernate4.3 및 Spring4.2를 통합하십시오
기본 추가, 삭제, 검색 및 수정, 서비스 및 조치 추출 및 XML을 주석으로 대체
2. 백엔드 관리 시스템을 구축하십시오
EasyUi를 사용하여 백엔드 관리 시스템을 구축합니다. 솔직히 말해서, 나는 Easyui에 대한 약간의 이해 만 가지고 있습니다. 프론트 엔드에 대해 많이 모르지만 조금 이해합니다. 나는 또한 내가 그들을 사용할 때 그들 모두를 확인했다. 체계적으로 배우지 않았으므로 지식 시스템이 좋지는 않지만 재생에는 영향을 미치지 않습니다. 프로그래머는 자신이 기술을 연주하고 있다고 말하기를 좋아하며 상당히 높은 소리를냅니다. 나는 점차적으로 영향을 받았고 그렇게 말하고 싶지만 실제로 프론트 엔드와 놀고 있습니다 ...
JQuery EasyUi는 jQuery를 기반으로 한 UI 플러그인 모음이며 jQuery EasyUi의 목표는 웹 개발자가 기능이 풍부하고 아름답게 풍부한 UI 인터페이스를 만드는 데 도움이됩니다. 개발자는 복잡한 JavaScript를 작성할 필요가 없으며 CSS 스타일에 대한 심층적 인 이해가 필요하지 않습니다. 모든 개발자가 알아야 할 모든 개발자는 간단한 HTML 태그입니다.
EasyUi 요청은 모두 Ajax 요청이며 새 페이지가 나타나지 않으며 모두 탭 탭에 있거나 창이 팝업됩니다. 백엔드 관리 시스템은 주로 제품 범주 관리, 제품 관리 및 영업 관리의 세 부분으로 나뉩니다. 영업 관리는 마지막입니다.
2.1 제품 카테고리 관리
이 부분에는 주로 EasyUI 환경 및 배경 프레임 워크, 데이터베이스의 계단식 쿼리 및 페이지 매출, 데이터 그라이드 데이터 디스플레이, Struts2 통합 JSON 및 제품 범주 추가, 삭제, 업데이트 및 검색이 포함됩니다. 이것은 또한이 섹션에서 일련의 완료를 따릅니다.
Datagrid는 테이블 형태로 데이터를 표시하며 개발자는이를 운영하기 위해 구체적인 지식을 가질 필요가 없습니다. 좋은 도움말 문서가 있으며 더 자세합니다. 이 프로젝트에서는 Datagrid를 만드는 몇 가지 방법을 소개했으며 Datagrid의 속성 중 일부를 간단히 소개했습니다. 시작입니다. 나는 또한 입문 도구입니다. 더 많은 것을 개발 함으로써만이 기술을 마스터 할 수 있습니다.
카테고리의 추가, 삭제, 업데이트 및 검색 기능은 주로 EasyUI와 함께 제공되는 검증 기능을 사용합니다. 제품 범주를 추가 할 때 입력 상자의 입력이 올바른지 여부를 확인하십시오. 삭제할 때 특정 라인 또는 여러 줄이 먼저 선택되는지; 업데이트 할 때 한 번에 한 줄만 업데이트 할 수 있으며,이 모든 라인은 모두 AJAX 요청입니다.
이 부분에 대한 자세한 내용은 이미 분류했으며 다음을 참조하십시오.
EasyUi를 사용하여 백엔드 페이지 프레임 워크를 구축하십시오. EasyUi 메뉴는 캐스케이딩 쿼리 및 데이터베이스의 페이지 매김을 구현합니다. Datagrid Data Display 기능 Struts2 및 JSON 통합 Datagrid Query를 구현하고 기능 Datagrid를 삭제하여 추가 및 업데이트 기능을 구현하여 추가 및 업데이트 기능을 구현합니다.
내가 직면 한 문제는 다음과 같습니다.
Struts2 및 JSON 통합 Hibernate4 Execution Save () 또는 Update ()의 게으른 로딩 예외 문제 문제
2.2 제품 관리
제품 관리에는 카테고리 관리와 동일한 추가 및 삭제와 같은 운영도 포함됩니다. 제품을 추가하고 제품 사진을 업로드 해야하는 한 가지가 있습니다. 여기에는 파일 업로드를 구현하기위한 struts2의 기능이 포함됩니다. 업로드 된 파일을 저장하려면 서버쪽에 폴더를 빌드 한 다음 파일을 수신 할 모델을 작성해야합니다. 파일 업로드와 관련하여 도구 클래스를 구체적으로 작성해야합니다. 이것이 프로젝트의 개발 방식입니다. 공통 코드를 추출해야합니다. 코드 문장이 하나만 있더라도 추출해야합니다! 이것은 습관이며 수행되어야합니다. 구체적인 자세한 내용은 아래 나열된 기사를 참조하십시오.
제품 카테고리의 기본 모듈이 구축되고 쿼리 및 삭제 제품 기능이 구현됩니다. 제품 기능의 구현이 구현됩니다. 파일 업로드 함수의 구현이 구현됩니다.
3. 프론트 데스크 디스플레이 페이지를 작성하십시오
물론 프론트 엔드 페이지는 나에 의해 설계되지 않았습니다. 나는 다음과 같은 프론트 엔드 디스플레이와 관련된 일부 백엔드 기술을 요약했다.
서블릿을 배우고있을 때 이것이 홈페이지 디스플레이 데이터를 수행 한 방법입니다. 프레임을 사용하고 오른쪽에 데이터를 표시했습니다. 그런 다음 Index.jsp의 오른쪽 부분의 서블릿으로 이동 한 다음 서블릿으로 가서 데이터베이스에서 모든 제품을 꺼내어 요청 필드에 넣고 새 JSP 페이지를 가져와 표시했습니다. 이것이 달성 될 수는 있지만 매우 어리석은 일입니다. 여기서 나는 청취자를 사용하여 이것을했다. 먼저, 청취자를 직접 정의했고 프로젝트가 시작되면 데이터베이스의 모든 제품 정보를 꺼내어 응용 프로그램 도메인에 넣은 다음 El 표현식을 직접 사용하여 홈페이지의 응용 프로그램 도메인에서 검색했습니다.
또 다른 문제가 있습니다. 관리 시스템에 신제품을 추가하면 Tomcat을 다시 시작하여 새 제품을 응용 프로그램 도메인에 추가해야합니다. 처음으로 가져간 후 응용 프로그램 도메인에 있었기 때문에 죽기로 결심했습니다. 나중에 새로 추가 된 것은 응용 프로그램 도메인에 없습니다. 이 문제를 해결하기 위해 타이머를 사용하여 홈페이지 데이터를 동기화했습니다. 그래서 나는 이전에 쓴 청취자를 다시 작성하고, 청취자에 타이머를 설정하고, 코드를 데이터베이스에서 제품의 데이터를 타이머 작업에 입력 한 다음 처음으로 즉시 실행 한 다음 6 시간마다 실행하고 (시간마다 시간을 설정할 수 있음), 즉 6 시간마다 제품을 다시 제출할 수 있습니다. 이것은 CSDN의 개인 블로그 홈페이지와 같이 일반 웹 사이트가하는 일입니다. 순위는 매일 오후 10 시경에 업데이트됩니다. 특정 시간을 잊어 버렸습니다. 당시 새로 고침은 데이터 업데이트를보고 서버의 압력을 줄입니다.
이 섹션의 특정 기술 세부 사항은 다음 기사를 참조하십시오.
리스너를 사용하여 홈페이지에 표시되는 데이터를 얻으십시오. 스프링 구성 파일 스레드, 타이머 타이밍 동기화 홈페이지 데이터 최대 절전 모드 보조 캐시 처리 홈페이지 인기 디스플레이를 얻는 방법
4. 쇼핑 카트 관련 기능
쇼핑 카트와 관련된 주요 기술에는 다음이 포함됩니다. 쇼핑 카트 및 쇼핑 품목의 논리, 필터 판단 로그인, 데이터베이스로의 계단식 주문 및 페이지 캐싱의 배경 처리.
쇼핑 카트의 경우 주로 백엔드에 일부 구현 로직이 포함되어 있습니다. 쇼핑 카트에는 쇼핑 품목이 있습니다. 무슨 뜻입니까? 우리는 모두 TMALL에서 물건을 구매할 때 다른 제품을 장바구니에 넣을 수 있고 쇼핑 카트에 많은 제품이 있으며 각 제품에는 여러 수량을 가질 수 있음을 알고 있습니다. 각 제품 및 관련 정보는 쇼핑 품목입니다. 따라서 쇼핑 카트를 추가 할 때는 먼저 쇼핑 아이템을 완성한 다음이 쇼핑 아이템을 쇼핑 카트에 추가해야합니다.
사용자가 해결하려면 먼저 사용자가 로그인했는지 여부를 결정해야합니다. 이는 특정 유형의 URL을 필터링하는 필터 기술을 사용하고 필터의 현재 세션에 사용자 객체가 있는지 여부를 결정합니다. 로그인이 로그인되었음을 나타내는 경우 직접 해제하십시오. 그렇지 않은 경우 로그인 페이지로 이동하여 사용자가 로그인하십시오. 로그인 한 후 사용자가 원래 원하는 페이지로 이동하십시오. 그것은 도어맨과 같다 ~ 문을보고 ~
지금 언급했듯이 주문 정보에는 쇼핑 카트 및 쇼핑 품목이 포함됩니다. 주문에 들어가면 계단식 문제를 고려해야합니다. 해당 주석 속성을 두 사람의 Pojos에 설정할 수 있습니다. 그러나 전제 조건이 있습니다. 예를 들어, 외국 키 상관 관계가있는 경우, 해당 POJO의 외래 키 부분의 필드는 pojo에 들어가기 전에 좋은 값을 할당해야합니다. 예를 들어, 순서는 라인 항목에 추가되어야하며, 라인 항목의 순서 속성에는 최대 절전 모드에 양도되기 전에 좋은 값을 할당해야합니다. 최대 절전 모드는 구성된 주석 (또는 XML 파일)에 따라 라이브러리로 캐스케이드합니다.
Page Caching의 문제는 사용자가 주문을 확인할 때 주문을 클릭하면 주문 확인 페이지로 돌아갑니다. 주문 확인 페이지가 이제 다시 나오고 세션은 여전히 존재하며 정보는 여전히 정보입니다. 이것은 분명히 우리가 원하는 결과가 아닙니다. 프론트 데스크에서 처리하고 동시에 백엔드를 처리해야합니다.
이 섹션의 특정 기술 세부 사항은 다음 기사를 참조하십시오.
캐스케이드 스토리지 및 페이지 캐싱 문제를 결정하기위한 로그인 기능을 실현하기위한 쇼핑 카트 필터의 기본 기능 구현
5. 온라인 결제 기능
이 부분은 주로 Yibao 지불 인터페이스에 대한 몇 가지 사항을 소개합니다. 실제로 온라인 결제 기능은 제 3 자와 다릅니다. 주요 목적은 온라인 결제 기능 개발 프로세스를 이해하는 것입니다. 특정 기술 세부 사항은 특정 제 3자가 제공 한 정보에 따라 다릅니다. 그러나 일반적인 절차는 다음과 같습니다. 타사 인터페이스를 호출> 은행 인터페이스 호출> 지불 완료> 제 3자는 우리가 지정한 페이지로 돌아갑니다.
이 부분에는 중요한 기술이 포함되며 Struts2는 여러 모델 요청을 처리하는 방법입니다. 일반적으로 Struts2는 ModedRiven <Modey>를 구현 한 후에도 모델을 사용할 수 있지만 현재 두 가지 모델이 있으면 어떻게됩니까? Struts2에는 Parametersaware라는 다른 인터페이스가 있습니다. 이 인터페이스가 구현되고 매개 변수를 저장하는 맵이 정의되는 한 요청 요청에서 모든 매개 변수를 수신 할 수 있습니다. 다른 매개 변수를 기반으로 사용할 모델을 판단 할 수 있습니다. 이 방법은 Struts2 다중 모델 요청을 처리하는 문제를 해결할 수 있습니다.
이 섹션의 기술적 세부 사항은 다음 블로그 게시물을 참조하십시오.
온라인 결제 플랫폼 소개, Yibao 지불 프로세스의 데모
온라인 결제 기능의 논리를 완성하기 위해 은행 아이콘 및 결제 페이지 표시를 가져 오십시오. Struts2에서 여러 모델 요청을 처리하는 방법
6. 이메일 및 SMS 전송 기능
이메일 보내기 및 문자 메시지 보내는 것은 비교적 간단합니다. 둘 다 고정 된 API이며 사용 방법을 알고 있습니다. 그냥 확인해 보면 기억이 나지 않습니다. 이메일 전송 기능은 Mail.jar 패키지를 가져온 다음 프로세스에 따라 이메일을 보내야합니다. SMS 기능은 먼저 SMS 전송 기능을 적용해야합니다. 응용 프로그램이 완료되면 제 3자는 일부 API 인터페이스를 제공합니다. 우리는 그것을 언급하는 한 SMS 전송 기능을 개발할 수 있습니다. 지불 기능과 다소 비슷하며 모두 타사 플랫폼에 의존합니다.
이 부분에는 기술적 인 어려움이 없으며, 주로 프로세스, 관련 기사는 다음과 같습니다.
SMS 기능 보내기 성공 주문 지불이 완료된 후 Java 이메일을 사용하여 사용자에게 이메일을 보내십시오.
7. 도메인 네임 스페이스 및 프로젝트 배치 및 릴리스 응용 프로그램
이 섹션에서는 주로 무료 도메인 이름 공간을 신청하는 방법을 소개합니다 (15 일 동안 만 무료 ~ 학습을 위해서는 ~). 그들 모두가 자유롭지는 않지만, 우리는 주로이 과정을 파악해야합니다. 직접 겪는 것이 낫습니다. 반드시 완전한 프로젝트를 업로드 할 필요는 없습니다. JSP 페이지 또는 HTML 정적 페이지는 괜찮습니다.
프로젝트를 배포하고 게시하는 두 가지 주요 방법이 있습니다. 하나는 FTP를 사용하여 업로드하는 것이지만 이는 느리고 데이터를 잃을 수 있습니다. 개인적인 경험은 조금씩 발행하는 것입니다. 또 다른 방법은 배포 환경을 제공하기 위해 도메인 이름 공간을 신청하는 것입니다. 프로젝트를 전쟁 패키지로 내보낸 다음 전쟁 패키지를 배치하면됩니다.
프로젝트가 배치되기 전에 일부 경로 수정, 일부 데이터 수정 등과 같은 많은 세부 사항이 있습니다.이 세부 정보는 내 블로그에 자세히 설명되어 있습니다. 이 섹션에는 다음과 같이 하나의 기사가 포함되어 있습니다.
도메인 이름 공간 및 배포 및 프로젝트 출시 신청
8. 확인 및 보고서 표시
일부는 나중에 추가되며 Ajax는 쇼핑 카트의 제품 수량, 양식 검증 및 보고서 표시를 동적으로 업데이트합니다.
쇼핑 카트 다이나믹 업데이트의 제품 수는 순수한 Ajax 기술입니다. 방금 배웠습니다. 양식의 확인은 주로 로그인 양식입니다. 이 프로젝트에 로그인하지는 않았지만 로그인 양식을 작성했으며 확인 기능도 수행됩니다. 주된 용도는 jQuery의 Validate Verification 플러그인입니다. 이 플러그인은 여전히 매우 강력합니다. 로그인 양식을 프로젝트에 직접 추가하고 해당 점프를 설정할 수 있습니다. 보고서 표시를위한 JSCHART의 주요 사용은 JSCHART입니다. 이 도구는 매우 유용하며 응답 JS 코드를 생성 할 수 있습니다. 우리가해야 할 일은 Ajax 요청을 백엔드로 보내고 실제 요구에 따라 백엔드에서 데이터를 검색 한 후 프론트 엔드로 전달하여 JSChart 차트로 표시하는 것입니다.
아래 의이 섹션에 블로그 게시물을 나열하겠습니다.
AJAX 기술을 사용하여 제품 수량 및 총 가격 jQuery-Validate Verification 플러그인을 부분적으로 업데이트하여 JSCHART 기술을 사용하여 배경에 제품 판매 보고서를 표시합니다.
이것은 너무 많이 쓴 온라인 쇼핑몰 프로젝트입니다. CSDN 다운로드 채널의 소스 코드는 내 블로그와 동기화됩니다. 필요한 경우 CSDN에 업로드 한 소스 코드를 다운로드 할 수 있습니다 (무료 ~ 모든 리소스는 무료). 나중에 계속 개선하고 싶다면 github에 넣을 것입니다. 모두가 내 github를 따르도록 환영합니다 (평균 ~) 스타 프로젝트 I 업로드 ~ 다음은 특정 다운로드 주소입니다.
주소 다운로드 (블로그 콘텐츠와 동기화)
GitHub 다운로드 주소 (나중에 업데이트가 있으면 여기에 배치됩니다)
원본 주소 : http://blog.csdn.net/eson_15/article/details/5147994#download
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.