1.首先打开eclipse,新建一个Dynamac web project项目文件

2.在WebContent单击右键创建JSP File

3.过程

4.简单的jsp代码

运行结果:

5.导出war文件

5.1关闭tomcat

5.2  Export →WAR file

5.3导出的.war 文件放在apache-tomcat-9.0.0.M20文件的webapps里

5.4进入bin文件,开启tomcat

5.4.1回到webapps文件夹得到:

5.4.2  aaa文件夹中出现如下5个文件

6.jsp应用实例,关键是学习mvc设计理念

6.1、什么是MVC?

mvc(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型  (Model)、视图(View)和控制器(Controller)。       MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:

•    (控制器Controller)- 负责转发请求,对请求进行处理。

•    (视图View) – 界面设计人员进行图形界面设计。

•    (模型Model) – 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

模型(Model) “数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。

视图(View) 视图层能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。

控制器(Controller) 控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。

6.2用mvc理念打印出艾宾浩斯记忆曲线

6.2.1  艾宾浩斯记忆曲线:

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,描述了人类大脑对新事物遗忘的规律。你想知道怎么利用艾宾浩斯遗忘曲线进行复习记忆吗?今天,学习啦小编为大家推荐遗忘曲线复习记忆的方法。

6.2.2:需要实现的图

6.2.3:jsp代码

 <body>
<table border=1>
<tr>
<td> 日期</td>
<td> 新学习</td>
<td> 复习前1课</td>
<td> 复习前2课</td>
<td> 复习前4课</td>
<td> 复习前7课</td>
<td> 复习前15课</td>
</tr>
<%
Calendar cd = new GregorianCalendar();//向上转型
int m=Calendar.MONTH;
int d=Calendar.DAY_OF_MONTH;
int m1=cd.get(m)+1;
int d1=cd.get(d);
int n=0,p=0,w=0;
int m2=m1+1;
int m3=m1+2;
int m4=m1+3; int group=72;//代表有多少篇课文需要背诵
int days=group+15;
for(int i=0;i<days;i++){
String day=(m1+"月"+(d1-4+i)+"日")+"";//加一个空字符串,定义日期
if((d1-3+i)>31){
n++;
day=(m2+"月"+(n)+"日")+"";//六月
if(n>30){
p++;
day=(m3+"月"+(p)+"日")+"";//七月
if(p>31){
w++;
day=(m4+"月"+(w)+"日")+"";//八月
}
}
} String task1="";//当天需要工作的第一个任务
String task2="";
String task3="";
String task4="";
String task5="";
String task6="";
//求算任务1
if(i<=group-1){
task1=(i+1)+"";
}
else{
task1="--";}
//求算任务2
if(i<=0||i>group){
task2="--";
}else{
task2=i+"";
}
//求算任务3
if(i<=(0+1)||(i-1)>=(group+1)){
task3="--";
}else{
task3=(i-1)+"";
}
//求算任务4
if((i-3)<=0||(i-3)>=(group+1)){
task4="--";
}else{
task4=(i-3)+"";
} //求算任务5
if((i-6)<=0||(i-6)>=(group+1)){
task5="--";
}else{
task5=(i-6)+"";
}
//求算任务6
if((i-14)<=0||(i-14)>=(group+1)){
task6="--";
}else{
task6=(i-14)+"";
} %>
<tr>
<td><%=day %> </td>
<td><%=task1%> </td>
<td><%=task2%> </td>
<td><%=task3%> </td>
<td><%=task4%> </td>
<td><%=task5%> </td>
<td><%=task6%> </td>
</tr>
<%
}
%> </table> </body>

6.2.4:实现了的效果图

6.3:总结

 %>
86 <tr>
87 <td><%=day %> </td>
88 <td><%=task1%> </td>
89 <td><%=task2%> </td>
90 <td><%=task3%> </td>
91 <td><%=task4%> </td>
92 <td><%=task5%> </td>
93 <td><%=task6%> </td>
94 </tr>
95 <%

今天的例子是艾宾浩斯记忆曲线的学习计划表。重点不是怎么算,重点是学习jsp中的一个重要的思想,作为展现层,jsp中不应该出现业务逻辑代码。

即便上图,<%%>代码也会在后续的学习中改为其它方式显示,如JSTL和EL表达式。

 

 

本人还在初学java阶段,高手,大神请指教,欢迎提出建议与意见。

谢谢你这么忙还能抽空来看我的随笔!

java_web学习(三) eclipse_jsp学习的更多相关文章

  1. Html学习(三) 分类学习

    代码: <h1>这是一级分类吗</h1> <h2>这是二级分类吗</h2> <h3>这是三级分类吗 </h3> 效果: 介绍: ...

  2. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

  3. 20145213《Java程序设计》第三周学习总结

    20145213<Java程序设计>第三周学习总结 教材学习内容总结 正所谓距离产生美,上周我还倾心于Java表面的基础语法.其简单的流程结构,屈指可数的基本类型分类,早已烂熟于心的运算符 ...

  4. 20145304 Java第三周学习报告

    20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...

  5. 20145330《Java程序设计》第三周学习总结

    20145330 <Java程序设计>第三周学习总结 第三周知识的难度已经逐步上升,并且一周学习两章学习压力也逐渐加大,需要更高效率的来完成学习内容,合理安排时间. 类与对象 对象(Obj ...

  6. 20145337《Java程序设计》第三周学习总结

    20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描 ...

  7. 20145218 《Java程序设计》第三周学习总结

    20145218 <Java程序设计>第三周学习总结 教材学习内容总结 定义类 编写程序要产生对象就要先定义类.类是对象的设计图,对象是类的实例.类定义时使用class关键词,建立实例时, ...

  8. 《Java程序设计》第三周学习总结

    20145224-陈颢文 <Java程序设计>第三周学习总结 教材学习内容总结 一.定义类: ·类定义时使用class关键字,要对类中变量(值域成员/对象数据成员)行类型声明. class ...

  9. JDBC第三次学习

    这是我的JDBC第三次学习了,在学习的过程中,老是会忘掉一些知识,不记下笔记实在不行啊! 使用JDBC调用存储过程 (1)关于如何使用Navicat(11.1.13) for MySQL如何创建存储过 ...

随机推荐

  1. 《python参考手册(第四版)》【PDF】下载

    <python参考手册(第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382222 内容介绍 本书是权威的Python语 ...

  2. JDBC结果集rs.next()注意事项

    写在前面: 用JDBC从数据库中查询数据要用到结果集ResultSet,其中我们在获取结果的时候经常用到rs.next()方法来判断是否查询到了数据. 但是要特别注意,next()方法用一次,游标就往 ...

  3. 【java】java.util.regex.Pattern和java.util.regex.Matcher简单示例

    package 正则; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test_regex ...

  4. iOS UI特效

    1.iOS特效 a.对应APP中的基本动作分三类: 1.指向性动效(滑动,弹出等) 2.提示性动效(滑动删除,下拉刷新等) 3.空间扩展(翻动,放大等) b.这类动效在设计过程中需要主意几点: 1.系 ...

  5. Spring(概念)

    在本文中只讲述一些概念性的东西,因为我在开始学习JAVA的时候对这些概念性的东西总是不太理解,总结总结再感悟一下,也方便后人. 理解的不深,用通俗的语言讲一下: 百度百科这样介绍: spring框架主 ...

  6. java 设计模式-缺省适配器模式

    本文转载地址:http://www.cnblogs.com/iyangyuan/archive/2013/03/11/2954808.html 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个 ...

  7. Akka Serialization

    Akka本身使用了Protocol Buffers来序列化内部消息(比如gossip message).Akka系统还可以配置自定义序列化机制. 配置conf akka { actor { ## 在a ...

  8. Xamarin Android 中Acitvity如何传递数据

    在xamarin android的开发中,activity传递数据非常常见,下面我也来记一下在android中activity之间传递数据的几种方式, Xamarin Android中Activity ...

  9. jquery UI autocomplete当输入框焦点聚焦时自动弹出跟随下拉框

    $("#search").autocomplete({ minLength: 0, source: function(request,response){ // request对象 ...

  10. 【深度学习系列】一起来参加百度 PaddlePaddle AI 大赛吧!

    写这个系列写了两个月了,对paddlepaddle的使用和越来越熟悉,不过一直没找到合适的应用场景.最近百度搞了个AI大赛,据说有四个赛题,现在是第一个----综艺节目精彩片段预测 ,大家可以去检测一 ...