敲码经验总结:

之前犯了一个错误就是,没有从底层开始学起,有啥问题,就直接博客园找源码,去CSDN找源代码,看到代码就复制粘贴,结果从新梳理知识点的时候,貌似除了复制粘贴,印象深刻的知识啥也没学到。

看来代码这些东西还是得多敲多总结才有效,不要害怕从底层开始学起,因为没有底层的知识作为支撑,即使你能做出效果也不知道如何做出来,万不可知其然而不知其所以然。

好了,敲码经验总结结束了,现在到了知识点回顾:

总纲分成两个部分:

一、总体商务平台的构思

二、实现JSP点击单选按钮,内容显示到JSP里

细节:

总体商务平台的构架需要一个框架,比如说MVC,M指的是Model模型,V指的是Vison视图,C指的是Cotrol

三个层次各司其职,他们的结构呈现上中下,

最顶层是Vison。主要功能是显示用户输入的数据和呈现用户需要的数据

中间层是Model。主要功能是传递作用,当用户输入数据后,它便接受数据传递给Model,让他寻找相应的数据处理 方式

最底层是Model。主要功能是处理用户的数据,其中有个模型称为数据模型,它和数据库有着千丝万缕的联系

三者之间你可以近似看成是顾客,中间商,供应商的关系,顾客有需求,中间商接受顾客需求告知供应商,供应商寻找用户需要的产品给中间商,中间商再呈现给顾客,满足顾客的需要。

重点:MVC只是个复杂的系统,并不是拿手就可用的框架

但MVC系统有多个小弟,其中有个小弟特别突出,他就是SSH,SSH是能力极强的框架,我要介绍的商务系统就是建立在它的基础上

SSH,S指的是Struts,S指的是Spring,H指的是Hibernate

他们继承了老大的思维模式,三个层次也是各司其职,他们的结构也是呈现上中下

最顶层是Struts。主要功能是提交数据,通过Action处理,从forward到对应的网页。采用的技术是Servlet、JSP

中间层是Spring。主要的功能是提供管理业务对象的调用接口。【Spring也称为Service、Manager】

底层是Hibernate。主要的功能是与数据库打交道

因此

在我的商务系统的SSH的构造是【从后到前顺序】:

实体层(数据库的数据)

Dao层(服务方法的接口)

服务层(调用Dao层实现各种服务方法的编写)

Web层(编写Action和form【主要是对数据进行必要的验证和转换】、JSP页面对业务数据的操作)

对应SSH的框架就是

Hibernate:负责实体层

Spring:负责Dao层和服务层

Struts:负责Web层

按照这样思路:

对象的调用流程就是:JSP页面-->通过Acrion等方法-->反映到Service-->寻找相应的DAO接口-->到Hibernate寻找

数据的流向:ActionFormBean接受用户数据-->Action将数据从中提取出来-->封装成VO或PO-->调用业务层的Bean类,接受这个PO对象,调用DAO接口方法-->到实体层进行持久化操作

这就是我的商务平台的构建思路,当然这只是万里长征的第一步,源码什么的还没摆出来,不过我会争取持久更新的(毕竟有时候搞一个方法就花去我一天或者以上),但是路漫漫其修远兮,吾将上下而求索!

二、实现JSP点击单选按钮,内容显示到JSP上

效果图先摆上:

【选择前:】

【选择后:】

有两个JSP源码,

以下是单选前的源码(select.jsp):

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>选择</title>
</head>
<body> 选择自己的城市信息
<form action="selec_result.jsp" method="post"><!--开始跳转新的jsp-->
选择你所在的城市<select name="home"><!--相当于引用变量-->
<option value="beijing">北京</option><!--value后面是显示的值,再后面的是界面选择项-->
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
</select>
<input type="submit" value="提交"><!--type是提交操作,value是按钮名字-->
</form>
</body>
</html>

以下是单选后的源码(selec_result.jsp):

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.io.PrintWriter" %>
<html>
<body>
<%
String home=request.getParameter("home");
PrintWriter out1=response.getWriter();
out1.print("你所在的城市是:"+home);
%>
</body>
</html>

源码已经有了,我就讲讲在其中要注意什么,有两点:

一、要导入servlet-api.jar包,只有导入才能响应respone的操作,【在下载的Tomcat的lib文件里可以找到,要是懒得找,笔者这里有链接:https://pan.baidu.com/s/16C1GF9cPvo08MC3rxPGmSw;提取码:q4tq;笔者使用的是Tomcat 8.5】

二、每次修改其中jsp源码,需要将端口重新启动才能显示最新修改的信息【这是缺点,目前笔者没有找到解决方案】

今天的分享到这里结束了,希望对你有帮助。

商务系统的构造思路(无源码!)+如何用jsp实现点击单选框内容显示在另一个jsp页面的更多相关文章

  1. 采用Reflector的VS.net插件断点调试无源码DLL 分类:

    .Net的编程利器Reflector可以反编译基于.net开发的应用程序和DLL,其功能强大不用多说.今天想试验一把利用VS.net的插件断点调试外部无源码的DLL(只要是程序集都可以,所以exe也行 ...

  2. 使用afl-dyninst fuzz无源码的二进制程序

    转:http://ele7enxxh.com/Use-AFL-dyninst-To-Fuzz-Blackbox-Binaries.html 使用afl-dyninst fuzz无源码的二进制程序 通常 ...

  3. Arouter核心思路和源码详解

    前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解. 对Apt技术有所了解. Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源 ...

  4. Arouter核心思路和源码

    前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解. 对Apt技术有所了解. Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源 ...

  5. STM32时钟系统的配置寄存器和源码分析

    一.时钟系统 概述 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令,时钟系统就是CPU的脉搏,决定cpu速率. STM32有多个时钟来源的选择,为什么 STM32 要有多个时钟源呢 ...

  6. uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码

    uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码 优优云验证码识别答题平台介绍 优优云|UU云(中国公司)是全球唯一领先的智 ...

  7. windbg源码驱动调试 + 无源码驱动调试

    windbg源码驱动调试   环境信息 虚拟机:win7 32位 windbg:6.12(版本不存在太大影响) 设置过程 windbg与虚拟机连接:链接 配置windbg 配置好双机调试后,点击win ...

  8. Slurm任务调度系统部署和测试(源码)(1)

    1. 概述1.1 节点信息2. 节点准备3. 部署NTP服务器4. 部署LDAP服务器5. 部署Munge认证服务6. 部署Mysql数据库服务7. 部署slurm7.1 创建slurm用户7.2 挂 ...

  9. JEB 无源码调试 以dvm smali字节码方式,Demo尝试

    关于调试器看不到进程,无法attach的问题,网上也有很多教程,基本是修改ro.debugable =1  ,ro.secure = 0 让adbd有root权限 attach到其他进程,涉及到要修改 ...

随机推荐

  1. Scrapyd部署

    从github(https://github.com/scrapy/scrapyd)下载安装包放到D:\python\Lib\site-packages\ 解压压缩包:cd 到解压目录 python ...

  2. 九度OJ 1127:简单密码 (翻译)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1218 解决:721 题目描述: Julius Caesar曾经使用过一种很简单的密码. 对于明文中的每个字符,将它用它字母表中后5位对应的 ...

  3. Markov and Chebyshev Inequalities and the Weak Law of Large Numbers

    https://www.math.wustl.edu/~russw/f10.math493/chebyshev.pdf http://www.tkiryl.com/Probability/Chapte ...

  4. dataware fact 事实 不可更新 data warehousing business intelligence 优劣判据

    不可 Kimball维度建模 维度建模,而非数据建模 文本型度量是对某些事情的描述.虽然以文本方式度量事实是可行的,但是应将其放入维度表中,除非对事实表的每个行,其文本是唯一的. 数据仓库的好坏直接取 ...

  5. 阿里Java开发手册学习 3 MYSQL规约

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. tornado之运行第一个tornado程序

    Tornado是使用Python编写的一个强大的.可扩展的Web服务器.它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中. 首先是安装torn ...

  7. python自动化运维八:Ansible

    Ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控 ...

  8. C#实现(递归和非递归)高速排序和简单排序等一系列排序算法

        本人由于近期工作用到了一些排序算法.就把几个简单的排序算法.想冒泡排序,选择排序,插入排序.奇偶排序和高速排序等整理了出来,代码用C#代码实现,而且通过了測试.希望能给大家提供參考.     ...

  9. TypeSafe Config使用

    ================typesafeconfig的使用==================== #1.加入依赖包 config-1.2.1.jar #2.加载配置 ConfigFactor ...

  10. pyinstaller-py2exe-cx_Freeze打包第一个wxPython程序HelloWorld

    pyinstaller 打包hello 7Mb ================= www.pyinstaller.org pip install pypiwin32 pip install pyin ...