jsp中的一些问题
jsp里的${pageContext.request.contextPath}
在JSP中,
${pageContext.request.contextPath}
是一个EL表达式(Expression Language Expression),它用于获取当前应用的上下文路径(Context Path)。上下文路径是指Web应用在容器中被部署的位置,例如如果一个Web应用被部署在Tomcat服务器的根目录下,其上下文路径就是空字符串;如果这个Web应用被部署在/myapp目录下,则上下文路径就是/myapp。
${pageContext.request.contextPath}
这个EL表达式会被解析为当前应用的上下文路径,并可以用于构建相对路径的URL。例如,假设你正在编写一个JSP页面,你想在页面中引用一个应用中的静态资源(例如CSS或JavaScript文件),你可以将路径设置为${pageContext.request.contextPath}/resources/css/style.css,这样就可以确保资源路径是相对于应用的上下文路径而不是相对于当前URL路径的。
ssm 实体类的Date类型数据导util还是sql
在使用Spring框架的SSM(Spring + SpringMVC + Mybatis)开发中,实体类的Date类型数据可以导入Java的util.Date或者SQL的Date。
如果使用util.Date,在数据库中存储的时间会精确到毫秒,并且可以和java.util包中的其他日期、时间类(例如Calendar)使用。这种方式通常被用于创建应用程序的日志记录,或者在需要精确到毫秒的场景中使用。
如果使用sql.Date,在数据库中存储的时间只精确到日期,不包含时分秒信息,因此不支持与java.util包中的日期、时间类一起使用。这种方式通常被用于记录只需要日期,不需要时间的数据,例如生日、注册日期等。
在实际开发中,你可以根据项目需求选择使用哪种Date类型。如果需要精确到毫秒,或者需要与java.util包中的日期、时间类一起使用,则应该选用util.Date;否则,就应该选用sql.Date。
mapper扫描器怎么处理mapper.xml
在使用MyBatis框架进行开发时,Mapper扫描器(MapperScannerConfigurer)是一个用于扫描Mapper接口的Bean,它会自动发现并注册命名空间(namespace)等于Mapper接口全限定名、Mapper接口中方法名和Mapper.xml文件中的ID相同的映射语句。
当Mapper扫描器扫描到一个Mapper接口时,它会使用动态代理技术生成一个Mapper接口的实现类,并将其注册到Spring容器中。在实际使用中,我们通常将Mapper接口和Mapper.xml文件放在同一目录下,并使用相同的名称。例如,一个UserMapper接口对应的Mapper.xml文件通常被命名为UserMapper.xml。
要让Mapper扫描器扫描并注册Mapper接口,需要在Spring的配置文件中配置MapperScan。下面是一个示例配置:
<!-- 配置MapperScan -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
</bean>
在这个例子中,MapperScan会扫描com.example.mapper包中的所有Mapper接口,并自动发现并注册这些接口的映射语句。
注意,在使用Mapper扫描器时,需要确保Mapper接口和Mapper.xml文件的名称和位置对应正确,否则Mapper扫描器将无法自动发现映射语句。此外,也可以通过配置Mapper XML文件的路径来指定Mapper.xml文件的位置,例如:
<!-- 配置MapperScan -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<property name="mapperLocations" value="classpath*:com/example/mapper/*.xml" />
</bean>
在这个例子中,MapperScan会扫描com.example.mapper包中的所有Mapper接口,并使用classpath:com/example/mapper/.xml来指定Mapper.xml文件的位置。
springmvc视图解析器的prefix和suffix属性的作用
在Spring MVC框架中,视图解析器(View Resolver)是一个用于将Controller层返回的逻辑视图名(Logical View Name)解析为物理视图路径(Physical View Path)的组件。Spring MVC支持多种视图解析器,例如InternalResourceViewResolver。
InternalResourceViewResolver是一个内置的视图解析器,用于将逻辑视图名解析为对应的JSP页面路径。它有两个属性:prefix和suffix。
prefix:指定JSP页面的路径前缀,例如/WEB-INF/views/。当Controller层返回的逻辑视图名为“myPage”时,InternalResourceViewResolver将会根据prefix和suffix的配置将“myPage”解析为/WEB-INF/views/myPage.jsp。
suffix:指定JSP页面的文件后缀,例如.jsp。当Controller层返回的逻辑视图名为“myPage”时,InternalResourceViewResolver将会根据prefix和suffix的配置将“myPage”解析为/WEB-INF/views/myPage.jsp。
因此,prefix和suffix属性的作用是用于构造逻辑视图名和物理视图路径之间的关系。通过配置prefix和suffix属性,我们可以实现将逻辑视图名与物理视图路径之间的对应关系,从而让Spring MVC框架在向客户端返回响应时正确地渲染JSP视图。
jsp中的一些问题的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- java web学习总结(二十八) -------------------JSP中的JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- bootstrap在jsp中的应用
http://www.bootcss.com/ 下载bootstrap的js,css文件: 在jsp中的应用: 第一步: 新建一个web项目 将bootstrap下载下来的文件放入WEB-INF下面的 ...
- jsp中超链接路径的写法
主题 超链接不就是一个地址字符串吗?这能有什么花头? LZSB! 曾经我也是这么想的.... 最近对apache的学习让我对网页中超链接,CSS,js的路径的写法有了一些新的认识. 所以这篇文章主要分 ...
- jsp中头的导入两种方式区别
1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...
- Spring MVC:在jsp中引入css
为了将css引入jsp中,今天可真是踩了好多坑,最后在stackoverflow上找到了解决方法,不多说贴出代码. 在web.xml中添加以下代码: <servlet-mapping> & ...
- 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。
今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...
- jsp中jstl标签的类似 if - else 语句 的语法
在jsp中引入jstl的标签库和函数库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c&q ...
- jsp中两种include的区别【转】
引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...
随机推荐
- [人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing
[人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing 论文简介 这是最早期CNN用于活体检测的文章,在此之前都是手 ...
- 推荐一个基于.Net Framework开发的Windows右键菜单管理工具
平常在我们电脑,我们都会安装非常多的软件,很多软件默认都会向系统注册右键菜单功能,这样方便我们快捷打开.比如图片文件,通过右键的方式,快捷选择PS软件打开. 如果我们电脑安装非常多的软件,就会导致我们 ...
- 【笔记】跟吴恩达和IsaFulford学提示词工程(初级开发者入门课程)
标签: #Prompt #LLM 创建时间:2023-04-28 17:05:45 链接:课程(含JupyterNotebook) ,中文版 讲师:Andrew Ng,Isa Fulford 发表在: ...
- Vue3 +element-plus+ wangEditor 富文本编辑器+前端七牛云上传
我用的vue3,element-plus ,没用ts 搭建wangEditor 参考 地址 https://www.cnblogs.com/xbxxf/p/16791084.html 七牛云安装参考地 ...
- thinkphp常量定义
是已经封装好的系统常量 主要是用在控制器下面的动作当中 这样能很大的提高我们的开发效率主要有下面的一些 手册上面都有的 __ROOT__ 网站的根目录 __APP__ 代表项目 ...
- 2022-12-05:部门工资前三高的所有员工。编写一个SQL查询找出每个部门中收入前三高的员工 。 +------------+----------+--------+ | Department |
2022-12-05:部门工资前三高的所有员工.编写一个SQL查询找出每个部门中收入前三高的员工 . ±-----------±---------±-------+ | Department | Em ...
- 2021-07-10:请返回arr中,求子数组的累加和,是<=K的并且是最大的。返回这个最大的累加和。
2021-07-10:请返回arr中,求子数组的累加和,是<=K的并且是最大的.返回这个最大的累加和. 福大大 答案2021-07-10: 时间紧.见代码. 时间复杂度:O(N*logN).空间 ...
- uni-app 打包发行
1.云端 发行-原生App-云打包 2.离线 运行-原生App本地打包-生成本地打包资源,如果提示安装依赖包,安装即可 注意:项目的AppID不能为空,请在该项目下的manifest.json中重新获 ...
- 最通俗易懂的flex讲解
30分钟彻底弄懂flex布局 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由elson发表于云+社区专栏 目前在不考虑IE以及低端安卓机(4.3-)的兼容下,已经可以放心使用fle ...
- 基于php的外卖订餐网站(php+mysql)
介绍 一个基于php的外卖订餐网站,包括前端和后台. 效果演示 http://101.43.124.118:8001/admin 源码地址 https://github.com/geeeeeeeek/ ...