发表于: 2022-05-20 19:16:09
1 568
看了一些spring的资料之后将昨天没有完成的ssm框架搭建完:
遇到的问题:Error listenerStart
解决方法,通过网上查询的一篇博客
在WEB-INF下创建了一个logging.properties文件:
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
之后就可以运行了:
遇到问题2:
Servlet.service() for servlet [springMVC] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.weixiao.dao.UserMapper.findAllUser] with root cause
java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.weixiao.dao.PcDao.userResult
解决方法:发现是在另外一个mapper.xml文件当中多定义了部分代码
<mapper namespace="com.weixiao.dao.PcDao">
<select id="selectUserByUname" resultType="com.weixiao.Pc"
parameterType="com.weixiao.Pc">
select * from pc where 1=1
<if test="uname!=null and uname!=''">
and uname like concat('%',#{uname},'%')
</if>
</select>以下是多定义的:
<!--数据中表的属性-->
<insert id="addUser1" parameterType="com.weixiao.Pc">
insert into pc(name,age,sex type, school) value (#{name},#{age},#{type},#{sex}, #{school})
</insert>
<delete id="delUserById1" parameterType="integer">
delete from pc where id=#{id}
</delete>
<select id="findAllUser1" resultMap="userResult">
select * from pc;
</select>
删除之后查询成功:
问题3:Springmvc-Servlet.xml文件下jsp扫描路径配置错误更改:
<!--设置JSP文件的目录位置-->
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
Controller类缺少Controller注释补充好
@Controller
public class PcController {
//自动配装
@Autowired
private PcDao pcDao;
@RequestMapping("/select")
public String Select(Pc pc , Model model){
List<Pc> list = pcDao.selectPcByName(pc);
model.addAttribute("pcList",list);
return "pcList";
}
input.jsp文件位置放错,应该放在web的根目录下而不是WEB-INF下
查询成功:
和数据库的内容一致:
遇到问题4:加入关键字查询发现,查询的一直是全部内容,在师兄的帮助下知道了我是原本的target文件的问题,
删除了之后重新运行一次,可以使用关键字查询结果
完成了ssm搭建之后回去看看java的语法:
尝试代码时发现的一个小知识点:每一个java类当中只能有一个public class
之后创建多个类只能是class。
super 关键字可以在子类的构造方法中显式地调用父类的构造方法
super()会自动的调用父类当中的super方法,一般来说每个方法当中会默认一个super的无参数构造方法
super 关键字的用法:
- super.父类属性名:调用父类中的属性
- super.父类方法名:调用父类中的方法
- super():调用父类的无参构造方法
- super(参数):调用父类的有参构造方法
构造方法是一种特殊的方法,主要作用是完成对象的初始化工作。
Math.max()
函数返回一组数中的最大值
示例:
try
块 : 用于捕获异常。其后可接零个或多个catch
块,如果没有catch
块,则必须跟一个finally
块。- *
catch
块 : 用于处理 try 捕获到的异常。 finally
块 : 无论是否捕获或处理异常,finally
块里的语句都会被执行。当在try
块或catch
块中遇到return
语句时,finally
语句块将在方法返回之前被执行
Comparator :比较器
List接口特点:
它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
明天计划,学习java语法。
评论