用springboot搭建ssm框架设置静态首页和动态首页的问题

最近用springboot搭建了一个ssm项目,搭建的过程很顺利,能通过controller访问后台设定好的数据,但是在设置jsp首页的时候遇到了阻力,网上搜索了很多资料,但是参照资料实际应用的时候发现,网上的解决方法并不完全适用于我遇到的问题,下面就是我设置首页的总结:

(springboot搭建ssm框架就不赘述了,网上资料很多,但是需要注意的是搭建好的框架没有webapp这个文件夹,只有static和templates)

一.静态首页

springboot默认访问的是static文件夹下的index.html页面,如果将index.html换成index.jsp或者其他的html,访问失败。而对目前的我来说,接触到的基本是jsp页面,所以要进行jsp页面设置,也可以说是动态首页。

二.动态首页

最近翻到了一篇博客,博主非常详细的介绍了设置jsp首页的过程。下面附上链接:但是注意有几点需要补充。https://blog.csdn.net/liudun_cool/article/details/81780686.

三.我在搭建过程中遇到的坑

1.要设置web.xml.我之前翻过的博客基本都没有说要设置web.xml,这是我进坑的主要原因。web.xml的内容设置很简单,只需要加一个欢迎页面就可以。如果在controller中不进行配置,默认访问的就是login.jsp,另外注意不要忘了部署web.xml的位置.

<welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
</welcome-file-list>

如果在controller中配置了跳转页面,项目会根据你的设置跳转路径,当你输入localhost:8080的时候,就会跳转到index.jsp

@Controller
@RequestMapping(value="/")
public class TestController {
     @RequestMapping("/")
    public String getOne(){
        return "index";
    }
}

2.项目启动不需要配置tomcat,直接启动项目的启动类就可以了.

3.关于注解的设置问题,我并没有按照上面链接中博主的注解配置方式配置代码.而是按照dao.service.serviceimpl.controller的分层方式配置的.下面可以参考代码(其中有几处奇怪的点,目前尚不明白,有明白的大神请不吝指点)

1)dao(也就是mapper接口)

//注意此处是没有注解的,我尝试过,加Mapper或者不加没有影响
public interface TopCategoryMapper {
    int deleteByPrimaryKey(Integer id);}

2)serviceimpl(需要加注解,不加报错)

//注意此处需要注解,不加注解会报错
@Service
public class TopCategoryServiceImpl implements TopCategoryService {
    @Resource
    private TopCategoryMapper topCategoryMapper;

    @Override
    public int deleteByPrimaryKey(Integer id) {
        return topCategoryMapper.deleteByPrimaryKey(id);
    }
}

3).controller

//controller注解是需要的
@Controller
@RequestMapping(value="index")
public class TopCategoryController /*extends MappingJackson2HttpMessageConverter*/ {
    @Autowired
    private TopCategoryServiceImpl topCategoryService;
        @RequestMapping(value="/one")
        @ResponseBody
        public String getCategoryList(){
            return null;
        }
}

4)启动类,在启动类中,目前来说,第二行的注解不是必须的,其他的是必须的,我曾尝试过dao文件中加Mapper,去掉MapperScan,但是项目报错,所以我按照博主的做法来做会报错.

@SpringBootApplication
@EnableTransactionManagement
@ComponentScan(value = {"mysite.controller","mysite.serviceimpl"})
@MapperScan("mysite.dao")
public class MysiteDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(MysiteDemoApplication.class, args);
    }

}

以上就是我使用springboot搭建ssm项目(能链接数据库,能设置首页)遇到的问题

猜你喜欢

转载自blog.csdn.net/qq_35148076/article/details/85052088