最近用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项目(能链接数据库,能设置首页)遇到的问题