how2j.cn


步骤 1 :

各个版本区别

模仿天猫整站实践项目教程目前有3个版本,分别是 J2EE版SSH版SSM版,以下列出了各个版本之间的区别。

同一个项目,特意采用了不同的技术实现,大体上涵盖了目前JAVA用到的各类主流技术。采用不同的开发环境,启动部署方式,项目风格,以各种不同的方式实现了同一个项目里的各类业务功能。 掌握了这些内容之后,能够比较明显地提高参加工作时的适应能力。
"); window.frames["iframe_show7020"].document.write(decodeHtml($("textarea#stepcodeTextarea7020").val())); window.frames["iframe_show7020"].document.close(); $(window.frames["iframe_show7020"]).load(function(){ $("#iframe_show7020").height($("#iframe_show7020").contents().find("body").height()+showittryitheight); }); $("#iframe_show7020").height($("#iframe_show7020").contents().find("body").height()+showittryitheight); setTimeout(function(){ },500); });
<script src="http://127.0.0.1/study../../../js/jquery/2.0.0/jquery.min.js"></script> <link href="http://127.0.0.1/study../../../css/bootstrap/3.3.6/bootstrap.min.css" rel="stylesheet"> <script src="http://127.0.0.1/study../../../js/bootstrap/3.3.6/bootstrap.min.js"></script> <style> </style> <script> $(function(){ }) </script> <div align="center"> <table style="width:90%" class="table table-striped table-bordered1 table-hover table-condensed"> <!-- <caption style="text-align:center">模仿天猫整站不同版本区别</caption> --> <thead> <th colspan="4" style="text-align:center">模仿天猫整站个版本区别</th> </thead> <thead> <th style="width:120px"></th> <th>J2EE版</th> <th>SSH 版</th> <th>SSM 版</th> </thead> <tr> <td>前台功能</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 齐备</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 齐备</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 齐备</td> </tr> <tr> <td>后台功能</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 齐备</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 齐备</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 齐备</td> </tr> <tr> <td>存储层技术</td> <td>JDBC</td> <td>Hibernate</td> <td>Mybatis</td> </tr> <tr> <td>控制层技术</td> <td>Servlet+反射</td> <td>Struts2</td> <td>Spring MVC</td> </tr> <tr> <td>教程使用的IDE</td> <td>Eclipse</td> <td>Eclipse</td> <td>IntelliJ IDEA(无缝兼容Eclipse)</td> </tr> <tr> <td>是否Maven项目</td> <td><span class="glyphicon glyphicon-remove text-danger"></span> 否</td> <td><span class="glyphicon glyphicon-remove text-danger"></span> 否</td> <td><span class="glyphicon glyphicon-ok text-success"></span> 是</td> </tr> <tr> <td>项目格式</td> <td>标准 Java 项目</td> <td>动态Web项目</td> <td>Maven Web项目</td> </tr> <tr> <td>启动方式</td> <td>Tomcat独立配置启动</td> <td>Eclipse内置Tomcat启动</td> <td>IntelliJ IDEA内置Tomcat启动</td> </tr> <tr> <td>部署到Linux</td> <td colspan="3" align="center"><a target="_blank" href="http://127.0.0.1/k/1591">提供独立免费教程-如何把J2EE应用部署到Linux系列教程</a></td> </tr> <tr style="display:none"> <td>企业要求</td> <td>极少企业会使用Servlet+JDBC这种方式进行开发新项目了。 但是这种“原始” 方式是框架模式开发的基础,掌握这些基础,有助于在框架模式下遭遇疑难问题的时候,更从容地解决相关问题。</td> <td>SSH这种模式是以前的主流,现在的趋势是逐渐被SSM所替代。 但是正因为是曾经的主流,所以存在大量的以前项目需要SSH技术去维护,所以在各大招聘网站可以观察到大量的这方面的人员需求。所以掌握SSH依然对拿到Offer非常有帮助</td> <td>大部分企业在开展新项目的时候都会选择SSM框架,所以这个技术的人才需求会持续旺盛相当长一段时间,犹如当年的SSH一般</td> </tr> </table> </div>
"); window.frames["iframe7020"].document.write(decodeHtml(code7020)); window.frames["iframe7020"].document.close(); //load和下面的非load必需并存,因为如果代码用到了jquery就必须使用load的方式 $(window.frames["iframe7020"]).load(function(){ $("#iframe7020").height($("#iframe7020").contents().find("body").height()+showittryitheight); }); $("#iframe7020").height($("#iframe7020").contents().find("body").height()+showittryitheight); alreadyWriteCode7020 = code7020; $("#rendering7020").hide(); $("#rendered7020").show(); } var tRereshRetry2DemoPanel7020 = setInterval(rereshRetry2DemoPanel7020,1000); var binded7020 = false; $("textarea#stepcodeTextarea7020").keyup(function(){ if(!binded7020){ $(window).bind('beforeunload',function(){ binded7020 = true; return "xxxx"; }); } var newCode = $(this).val() code7020 = newCode; /*below code is replaced by function rereshRetry2DemoPanel()*/ // if(code7020!=newCode){ // window.frames["iframe7020"].document.write("
"); // window.frames["iframe7020"].document.write(decodeHtml($("textarea#stepcodeTextarea7020").val())); // window.frames["iframe7020"].document.close(); // $(window.frames["iframe7020"]).load(function(){ // $("#iframe7020").height($("#iframe7020").contents().find("body").height()+showittryitheight); // }); // code7020 = newCode; // } }); $(".tryButton7020").click(function(){ $("#tryDiv7020").show(); $("#stepcodeTextarea7020").focus(); $("#stepcodeTextarea7020").height(200); $("#iframe7020").height(0); window.frames["iframe7020"].document.write("
"); window.frames["iframe7020"].document.write(decodeHtml($("textarea#stepcodeTextarea7020").val())); window.frames["iframe7020"].document.close(); //load和下面的非load必需并存,因为如果代码用到了jquery就必须使用load的方式 $(window.frames["iframe7020"]).load(function(){ $("#iframe7020").height($("#iframe7020").contents().find("body").height()+showittryitheight); }); $("#iframe7020").height($("#iframe7020").contents().find("body").height()+showittryitheight); this.scrollIntoView(true); editor7020.focus(); editor7020.setSize(null, "250"); $("#rendering7020").hide(); $("#rendered7020").hide(); }); var mixedMode = { name: "htmlmixed", scriptTypes: [{matches: /\/x-handlebars-template|\/x-mustache/i, mode: null}, {matches: /(text|application)\/(x-)?vb(a|script)/i, mode: "vbscript"}] }; var editor7020 = CodeMirror.fromTextArea(document.getElementById("stepcodeTextarea7020"), { lineNumbers: true, styleActiveLine: true, matchBrackets: true, mode:"text/html", theme:"eclipse", selectionPointer: true, lineWrapping: true, extraKeys: { "Alt-/": "autocomplete", "Ctrl-F": "findPersistent", "F8": function(cm) { cm.setOption("fullScreen", !cm.getOption("fullScreen")); }, "Esc": function(cm) { if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); } } }); editor7020.on("change",function(doc){ if(!binded7020){ $(window).bind('beforeunload',function(){ binded7020 = true; return "xxxx"; }); } var newCode = doc.getValue(); code7020 = newCode; $("textarea#stepcodeTextarea7020").val(newCode); if(alreadyWriteCode7020!=code7020){ lastModifedTime7020 = new Date().getTime(); $("#rendering7020").show(); $("#rendered7020").hide(); } // alert(doc.getValue()); }); $(".CodeMirror").addClass("form-control"); // var editor7020 = CodeMirror.fromTextArea(, { // lineNumbers: true, // styleActiveLine: true, // matchBrackets: true, // theme:"eclipse", // }); editor7020.on("change",function(doc){ // alert(doc.getValue()); }); $("#tryDiv7020").hide(); }); $("div.codemirrorTips span").addClass("glyphicon glyphicon-asterisk");


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


关于 实践项目-天猫整站J2EE- 各个版本区别 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图