从上面的图我们可以发现页数有多少,JSP页面就显示多少!这明显不合理的,如果有100页也显示100页吗? 我们做一个规定,一次只能显示10页的数据。那么显示哪10页呢?...这又是一个问题了,如果我们在看第11页的数据,应该显示的是第7到第16页的数据(显示11附近的页数),我们在看第2页的数据,应该显示第1到第10页的数据。...注意:在显示页面上,一定要把id传递过去给处理表单的Servlet,不然服务器是不知道你要修改哪一条数据的! 效果: ?...,那么就设置为1)【更新,我认为在Controller判断会好一点】 分页中,我们还支持上一页和下一页的功能,如果页数大于1,才显示上一页,如果页数小于1,才显示下一页。...如果角标越界了,那么就显示前10页或者后10页 我们把显示分页的页面封装成单独的jsp,使用的Servlet连接也可以用url变量来维护。
,当用户需要跳转到这个现实产品的页面时,就需要经过这个控制器中相应方法的处理,这个处理过程就是调用业务层的方法来完成,然后返回结果到JSP动态显示,服务器端生成好页面后传给客户端(浏览器)现实,这就是一个.../** * 初始化 “我的产品”列表 JSP页面,具有分页功能 * * @param request * @param model * @return */ @RequestMapping...return "跳转到的JSP路径"; } JSP页面接受部分我就不写了,每个人都一样,也就是结合JSTL和EL来写,(在循环输出的时候也做了判断,如果接受的参数为空,那么输出暂无商品...使用GET方式传参),然后将其加入到SESSION中,即可完成查询分页(此处由于“下一页”这中超链接的原因,使用了不同的JSP页面处理分页和搜索分页,暂时没找到在一个JSP页面中完成的方法...,出现了重复代码,这里的重复代码就是输出内容的那段代码,可以单独拿出去,然后用一个标签加载到需要的JSP页面就可以了,这样可以避免代码重复): 这里给出控制器的代码作为参考: /**
jsp 页面 我们把控制器类中封装好的值取出来,显示在该页面上即可,代码如下: <%-- Created by studyingJava Date: 2022/2/9 Time: 16:43...如果遇到 result.jsp 页面中的取值不显示,解决办法:修改 web.xml 中的 web-app 的开始标签为以下内容即可: <web-app version="2.5" xmlns="http...携带多个参数 下面举个例子,在请求页面增加一个表单,用户输入两个数据,通过 Controller 接收后,<em>显示</em>到 result.<em>jsp</em> 页<em>面上</em>。...,如果你一开始是这么写<em>的</em> js/jquery-3.4.1.js,那么并不会出现语法报错,但会出现<em>我</em>写<em>的</em>这个错误,就是这样<em>的</em>原因,需要添加请求上下文路径...执行流程分析 用户发起请求,首先到服务器(Tomcat),然后有中央调度器(DispatcherServlet)进行分发到不同<em>的</em><em>控制器</em>(Controller),然后<em>控制器</em>执行对应<em>的</em>业务逻辑后返回数据视图给结果<em>页</em>
页面中,${song}将会被替换为控制器传递过来的音乐信息。...当用户访问/music/play时,将看到页面上显示着"Now Playing: Spring Symphony"的欢迎消息。...在/WEB-INF/views目录下创建一个名为magic-show.jsp的JSP页面,用于展示魔法词语。...创建一个名为concert-failed.jsp的JSP页面,用于展示音乐会失败的信息。...我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!
当然了contentType 不仅仅可以指定以text/html的方式显示,还可以使用其他的形式显示出来。在conf/web.xml文件中可以查询出来 ?...比如,我以doc形式显示jsp的数据 ...1.jsp出现了错误,通过page指令的errorPage属性跳转到error.jsp页面上 <%@ page contentType="text/html;charset=UTF-8" language...我们可以在web.xml文件中全局设置错误页,只要发生了404错误或者空指针异常的错误都会跳转到error.jsp页面上 404...为什么我不把它直接称为JSP标签呢?我把这些JSP内置的标签称之为JSP行为,能够和JSTL标签区分开来。当然了,你也可以把它称之为JSP标签,你不要搞混就行了。
我们在JSP页面上也能添加这样的功能,其实这是非常简单的!...从上面的图我们可以发现页数有多少,JSP页面就显示多少!这明显不合理的,如果有100页也显示100页吗? 我们做一个规定,一次只能显示10页的数据。那么显示哪10页呢?...这又是一个问题了,如果我们在看第11页的数据,应该显示的是第7到第16页的数据(显示11附近的页数),我们在看第2页的数据,应该显示第1到第10页的数据。...,那么就设置为1)【更新,我认为在Controller判断会好一点】 分页中,我们还支持上一页和下一页的功能,如果页数大于1,才显示上一页,如果页数小于1,才显示下一页。...如果角标越界了,那么就显示前10页或者后10页 我们把显示分页的页面封装成单独的jsp,使用的Servlet连接也可以用url变量来维护。
我是页尾 在1.jsp中把页头和页尾包含进来 <%@ page contentType="text/html;charset=UTF-8" language..."; %> 我是页头呀 我的页尾也有个名为s的字符串变量 <%@ page contentType...String s = "zhongfucheng"; %> 我是页尾呀 现在我使用静态包含看看会发生什么,出现异常了。...Web层:界面+控制器,也就是说JSP【界面】+Servlet【控制器】 Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑 控制层:主要使用Servlet进行控制 数据访问层...JavaBean,将最终的处理结果交给显示层显示!
下面是我整理下来的JSP知识点: 图上的知识点都可以在我其他的文章内找到相应内容。...s = "zhongfucheng"; %> 我是页尾呀 现在我使用静态包含看看会发生什么,出现异常了。...Web层:界面+控制器,也就是说JSP【界面】+Servlet【控制器】 Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑 控制层:主要使用Servlet进行控制 数据访问层...模式一指的就是在开发中将显示层、控制层、数据层的操作统一交给JSP或者JavaBean来进行处理!...JavaBean,将最终的处理结果交给显示层显示!
login.jsp中不允许出现下面的java代码块(jsp2.0以后的规定),需要用jsp的标签来替代。...其次,要想在Struts2中使用国际化,动作类必须 继承ActionSupport类。 2、Struts2中使用国际化 2.1、配置资源包 a、配置全局范围的资源包 ? ?...解决办法:哪个动作方法需要使用拦截器,我就给它注入参数。 ? ---- 四、文件的上传(拦截器)和下载(stream结果类型)(需要练一遍) 1、文件上传 必要前提: a....解决办法:用国际化消息资源包,把对应的key取值改为中文即可。 常用的key值,配置如下: ? 修改显示错误的资源文件的信息,如下图所示: ? 效果如下图所示: ?...,是一条记录) 查看context Map中的数据: 在页面上使用 ?
典型的MVC就是javabean(M)+JSP(V) + servlet(C )的模式,是对DAO模式的进一步解耦合,姑且可以简单认为就是在DAO基础上多了一个servlet(充当控制器),其目的就是为了实现...View 视图是指用户看到并与之交互的界面:解释模型,模型更新请求,发送用户数据给控制器,允许控制器选择视图。...Controller 控制器接收请求并决定调用哪个模型去处理请求,然后再确定用哪个视图来显示返回的数据:定义应用程序行为,将用户动作映射为模型更新,选择相应的视图。...DOCTYPE HTML> 登陆页面 三秒后跳转到登陆页面!!! 如果没有跳转,请点这里 !
> 页头 我是页头 ...我是页尾 在index.jsp中把页头和页尾包含进来 <%@ page contentType="text/html;charset...这5个对象<em>我</em>就不解释了。在<em>JSP</em>中,尤其重要<em>的</em>是pageContext对象。pageContext是内置对象中最重要<em>的</em>一个对象,它代表着<em>JSP</em>页面编译后<em>的</em>内容(也就是<em>JSP</em>页面的运行环境)!...● Web层:界面+<em>控制器</em>,也就是说<em>JSP</em>【界面】+Servlet【<em>控制器</em>】。 ● Service业务层:将多个原子性<em>的</em>DAO操作进行组合,组合成一个完整<em>的</em>业务逻辑。 ...模式一指<em>的</em>就是在开发中将<em>显示</em>层、控制层、数据层<em>的</em>操作统一交给<em>JSP</em>或者JavaBean来进行处理。
我们在控制器中定义了两个请求处理方法,它们分别对应/test和/test/result请求。...下面是对应的JSP页面:test.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="...页面中,我们使用EL表达式来获取Request域对象中<em>的</em>"username"属性的值,并在页面上显示它的值。...当我们访问/test时,将会显示test.jsp页面,它包含一个文本框和一个提交按钮。我们在文本框中输入"Tom",点击提交按钮后,将会提交表单到/test/result请求。...在result.jsp页面上将会显示"Username: Tom"。
Context 对象:不想在与协议无关的环境上下文中使用针对特定协议的系统信息。...如果我需要测试业务层的逻辑,因为有了这样一层特殊的 API,我可以把整个表现层 mock 掉。...一个很好的例子就是页面集成,进入集成页之前准备好集成的子页面的 URL,到了集成的父页面中再执行拼装操作,这个行为,甚至可能被到客户端才完成。...举一个更具体的例子,一个短信息发送的会话门面,提供了消息发送的一系列功能,内部则包含了若干个应用服务:拼装消息报文、消息事务信息持久化、发送消息。...使用 nosql,海量数据的存储可以是稀疏的,水平扩展性、查询性能优异,它减弱了数据之间在存储层面上相互之间的约束。
大家好,又见面了,我是全栈君。 简单介绍 Struts框架是MVC的一个实现,它非常好的结合了JSP、Servlet、JavaBean、Taglib等技术。...MVC模式下的各层关系和功能例如以下图(注:图片来源于《征服JSP企业站点开发》443页): 有关MVC的东西都在这张图里了,这里要提个题外话:MVC和三层的关系。...Model1 Model1也是MVC的一种,通过JSP+JavaBean来实现。由于JSP页面能够非常方便的写入JavaBean的代码涉及业务逻辑,也能够结合Html用用于显示。...,Model2引入了Servlet充当控制器,同一时候不在JSP中写入Java代码来直接訪问数据库。...这样就是程序的各个部分职责单一明白了。即JSP页面仅仅负责显示。Servlet负责流转。 这样维护起来就相对easy。同一时候开发时的分工的界限也能够非常确定。
大家好,又见面了,我是你们的朋友全栈君。 11. 拦截器 11.1 拦截器概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。...SpringMVC框架的工程才能使用 拦截器只会拦截访问的控制器方法, 如果访问的是jsp/html/css/image/js是不会进行拦截的 11.1 自定义拦截器 public class MyInterceptor...@RequestMapping("/test") @ResponseBody public String test(){ System.out.println("控制器中的方法执行...2、登陆页面有一提交表单的动作。需要在controller中处理。判断用户名密码是否正确。如果正确,向session中写入用户信息。返回登陆成功。 3、拦截用户请求,判断用户是否登陆。...("/WEB-INF/jsp/login1.jsp").forward(request, response); return false; } @Override
大家好,又见面了,我是你们的朋友全栈君。...) Jsp1.jsp代码: Jsp2.jsp代码: A、什么也不显示 B、显示”null” C、显示”Mart” D、报错,提示无法显示网页 答案:A 31、在servlet的服务方法(如doPost(...,以下哪些JSP标准动作语句能创建这个bean的一个新实例,并把它存储在请求作用域 ( ) A、 B、 C、 D、 答案:C 39、给定一个Model1体系结构,其中有一个JSP页面处理所有控制器函数,...这个JSP控制器要把请求分派给另一个JSP页面 ( ) A、 B、 C、 D、 答案:A 40、有关标准动作,以下哪些说法是正确的 ( ) (选择两项) A、id属性表示对象的名称 B、scope属性是必要的...在JSP页面上使用JSTL标签时,应使用taglib指令导入标签库描述文件,并设置taglib指令的( )属性指定标签的前缀。
心得 在学了一点SSH框架之后,我就一直在想,如果完全不用任何框架,只使用Servlet和JSP的相关知识,来实现一个小系统,会是什么样的。...显示 我这个项目应该算是一个MVC架构的吧。模型层是几个实体类,控制器是Servlet,显示层是JSP。默认情况下JSP还是不够用,所以我用到了JSTL作补充。虽然这两个东西应该都算过时了吧。...用JSTL做显示确实方便很多,不用再写一堆循环代码了。但是JSTL局限性也挺大,有些地方不太灵活,页面上标签写的非常长。现在用其它模板引擎比如Thymeleaf的应该更流行吧?...现在自己写一个小系统,需要考虑的东西太多了。而且项目规模一旦变大,维护起来就麻烦了。我这仅仅十来个JSP,但是出了问题要在这十来个JSP和十来个Servlet中查找和调试,还是挺麻烦的。...而且在自己的程序中,我就是主宰,想做什么就可以做什么。所以,我把默认难看的404页面换成了一张萌妹子。你们自己去看吧。 已知问题 显示文章的时候XML代码块不能显示文字。
这个报错其实很早之前我就遇到了,当时查了一下,总共有四种方式解决: tomcat换到7.0以及以下版本 在方法上标注@ResponseBody 请求先转给一个Controller,再返回jsp页面 在你的...tomcat换到7.0以及以下版本 查阅了很多资料后,我得出一些结论,报错的信息其实很明显了,说的是jsp只允许GET、POST或HEAD,而我们使用了REST风格中的DELETE和PUT,显然就会报错了...而你在控制器方法中编写的返回值是一个字符串,SpringMVC会认为这是一个jsp页面,所以报错了。 这就完美地解释了第一种解决办法为什么能够起作用,但是切换tomcat版本显然并不好。...,但是返回值显示到了页面上。...,它就这样显示出来了。
大家好,又见面了,我是你们的朋友全栈君。...(Servlet或JSP页面),使用value属性指定包含页名称,可以使用 传递参数给子页 <s:param name=...struts2的模板生成的,这样的好处是可以让我们的jsp代码十分简单,只需要配置使用不同的主题模板,就可以显示不同的页面样式。...:使用AJAX的方式显示多个Tab页 Struts2工作原理 Struts2请求响应流程: (1) 客户端(Client)向Action发用一个请求(Request)...(2) Container通过web.xml映射请求,并获得控制器(Controller)的名字 (3) 容器(Container)调用控制器(StrutsPrepareAndExecuteFilter
2.过滤器配置/ * 拦截所有资源,所有静态资源都会被拦截,而拦截器只会拦截控制器的方法。...拦截器可以用在权限验证,比如在访问后台资源的时候,经过拦截器看请求有没有进行身份验证,身份验证通过后放行,否则跳转会后台登陆页面。...2. postHandle是controller方法执行后执行的方法,在JSP视图执行前。...2.1 可以使用request或者response跳转到指定的页面 2.2 如果指定了跳转的页面,那么controller方法跳转的页面将不会显示。...,让我们继承的类继承HandlerInterceptor接口,重写preHandle方法,该方法会在控制器执行前执行的方法。
领取专属 10元无门槛券
手把手带您无忧上云