• ssm框架


      

         不然回报找不到spring文件的xml文件的错,

      2在生成动态的web项目时没有生成web.xml文件时

      项目右击选择javaee tools

      

      小技巧

      注意一些名字上的匹配

      

    在model实体层中,类名和表名一致。

         实体类中要包括:
        1、构造方法
        2、属性
        3、getter、setter
        4、toString()

    dao层的xml和java文件名字一定要一致

    <!-- 注意这里时spring整合mybatis要最后扫描到的mapper文件语言dao层的java文件 -->

    <!-- namespace是该xml对应的接口全名,这里要注意不要会找错位置

    select和update中的id对应方法名, resultType是返回值类型,parameterType是参数类型(这个其实可选),最后#{...}中填写的是方法的参数,看懂了是不是很简单!!
    我也这么觉得~ 还有一个小技巧要交给大家,就是在返回Appointment对象包含了一个属性名为book的Book对象, 那么可以使用"book.属性名"的方式来取值,看上面queryByKeyWithBook方法的sql。 -->
    <!-- 目的:为dao接口方法提供sql语句配置 -->

                    返回值为实体类要这样写

    <select id="queryId" resultType="main.com.sex.model.Book" parameterType="java.lang.Integer">
    <!-- 具体的sql -->
    SELECT
    book_id,
    name,
    number
    FROM
    book
    WHERE
    book_id = #{bookId}
    </select>

    <select id="queryAll" resultType="List">
    SELECT
    book_id,
    name,
    number
    FROM
    book
    ORDER BY
    book_id
    LIMIT #{offset}, #{limit}
    </select>

    <update id="reduceNumber">
    UPDATE book
    SET number = number - 1
    WHERE
    book_id = #{bookId}
    AND number > 0
    </update>
    <insert id="addbook">
    insert into
    addbook(bookId,name,number)valuse(${bookId},#{name},${number})
    </insert>

    @Repository、@Service、@Controller 和 @Component 将类标识为Bean

    在写测试类的时候需要,写在service 层

    HttpServletRequest cannot be resolved to a type错误

        

    WEB-INF下的jsp通过servlet中超链接跳转

    在J2EE中其主要安全性就体现在web工作目录的WEB-INF文件夹下.如果将一个页面保存在WEB-INF文件下 ,那么该页面则不能被用户访问,就好比小偷都看不见我有什么,他还能知道要偷什么吗.. 因此如果将一个页面放在WEB-INF文件夹下,那么该页面的安全性将得到提高... 但有时候当我们需要访问该页面时,却无法访问,如何能够访问WEB-INF文件夹下的页面呢?

      struts为此提供了很便捷的跳转环境。在struts中每一个跳转都是通过一个action来处理的,action处理完了之后在forward到相对地址就行,这个很简单。

      但是问题是如果我不通过action来处理跳转,我想直接从web-inf的a.jsp页面跳到b.jsp页面怎么办呢?通常这个时候我们会试下相对地址/b.jsp 绝对地址/WEB-INF/b.jsp或者<%=request.getContext()=%>/WEB-INF/b.jsp,但无论怎么搞都不行,这个时候就比较崩溃。想直接跳转从安全性的角度来看肯定不行的,因为在WEB-INF底下web容器是不让你看见他的跳转路径的。直接跳转不行,间接跳转还是有的,比如struts的action跳转就是一种间接,为什么间接就是安全的呢?因为它的跳转地址是在web.xml里面配好的,访问的人是看不见的所以是间接安全的。难道只有struts可以完成间接的任务,显然不是了。其实想一想struts的action是什么东西就知道怎么做了,struts的action说白了还是一个servlet,所以可以通过servlet来完成任务了。

    首先在web.xml里面配置servlet和servlet mapping

    <servlet>
       <servlet-name>goto</servlet-name>
       <jsp-file>/WEB-INF/jsp/test.jsp</jsp-file>--要跳转到的页面
      </servlet>
      <servlet-mapping>
       <servlet-name>goto</servlet-name>
       <url-pattern>/test</url-pattern>
      </servlet-mapping>

    配置好了之后在jsp页面里用a就可以跳转了<a href="/工程名/test">测试页面跳转</a>--这里一定要“/工程名/test”

       通过servlet跳转还是比较麻烦了,但是这样能保证JSP页面的安全性,想两全其美是比较难的了。

     当然如果安全要求不高,那就可以做成很简单的了,直接把所有的jsp页面全部放在webRoot底下,在WebRoot下页面用户可以直接输入地址访问。

    JNDI lookup for name [spring.liveBeansView.mbeanDomain] threw NamingException with message: Name [sp

    1.  
      JNDI lookup for name [spring.liveBeansView.mbeanDomain] threw NamingException with message:
    2.  
      Name [spring.liveBeansView.mbeanDomain] is not bound in this Context.
    3.  
      Unable to find [spring.liveBeansView.mbeanDomain].. Returning null.

    错误原因:

    spring.liveBeansView.mbeanDomain 没找到

    解决方法

    如果你不使用任何 profiles 或 mbeans,可以在web.xml 中添加以下内容:

    1.  
      <context-param>
    2.  
      <param-name>spring.profiles.active</param-name>
    3.  
      <param-value>dev</param-value>
    4.  
      </context-param>
    5.  
      <context-param>
    6.  
      <param-name>spring.profiles.default</param-name>
    7.  
      <param-value>dev</param-value>
    8.  
      </context-param>
    9.  
      <context-param>
    10.  
      <param-name>spring.liveBeansView.mbeanDomain</param-name>
    11.  
      <param-value>dev</param-value>
    12.  
      </context-param>

    转载于:https://www.cnblogs.com/FengzZ/p/4921653.html

    AspectJ 出现错误::0 can't find referenced pointcut 的解决

    aspectjweaver-1.5.2.jar这个包版本太低,

    Spring之AOP奇葩报错:Null return value from advice does not match primitive return type for

    这个错是使用aop导致的 通过观察源码的到
    因为环绕没有返回值为null,select方法返回类型不是void ,而是int,刚好满足条件,抛出此异常。int是无法匹配null的(除非是包装类型Integer,不过接到的一直是null)。
    还是需要改环绕,加上返回值就不报错了
    @Around(“execution(* com.zzq.core.test.service….(…))”)
    public Object around(ProceedingJoinPoint pjp ){
    System.out.println(“AOP Aronud before…”);
    Object result = null;
    try {
    result = pjp.proceed();
    System.out.println("result : "+ result);
    } catch (Throwable e) {
    e.printStackTrace();
    }
    System.out.println(“AOP Aronud after…”);
    return result;
    }
    解决方法 我们只需要在service层改一下该方法的返回值为integer 就行了

  • 相关阅读:
    动态规划 简单的分割问题的解决方案钢棒
    SICP 1.20经验
    辛星一起了解下后续PHP性能功能
    汽车之家购买价格PC真正的原因阿拉丁
    可怜,的分母。
    [ACM] poj 1064 Cable master (二进制搜索)
    从Access创建Sqlite数据库
    变化的阅读程序猿自学习
    ArcEngine载入中SDE问题栅格数据
    pinyin4j新手教程
  • 原文地址:https://www.cnblogs.com/jflalove/p/13777944.html
Copyright © 2020-2023  润新知