发表于: 2022-05-20 19:16:09

1 311





看了一些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语法。
















返回列表 返回列表
评论

    分享到