本文记述今天实习所学习的内容,主要是用IDEA+Maven+SSM框架实现的登陆功能,今天所学习的内容和上一篇博客的内容大部分重复。
使用的软件:
创建四个子模块
完成创建之后,接着创建四个子模块,分别为ssm_bean,ssm_dao,ssm_service,ssm_web,其实这四个模块就对应各个层。创建子模块的步骤如下:
右键选中ssm_parent项目,选中new->module
接下来的步骤和上面创建ssm_parent的步骤相似,只要改一下模块名即可。
四个模块中前三个可以按照这个步骤创建,最后一个有一些不同,步骤如下:
选中新建Module,要选中Create from archetype,并在列表中选择maven-archetype-webapp
接着选择自己的Maven版本和设置文件,并且在properties中新建name为archetypeCatalog,value为internal的property。
点击next后,选择finish完成创建。
创建实体类:
在ssm_bean模块下新建java目录和resources目录,前者标记为Sources Root,即右键选中目录Mark Directory as -》Sources Root。后者标记为Resources Root,即右键选中目录Mark Directory as -》Resources Root
在java目录内还要创建bean目录,并在其下创建实体类UserInfo,此类中需要有参数id、username、password,还有几个参数的get、set方法以及toString方法。
bean中文件结构如下。
配置pom.xml文件
接下来将ssm_parent目录下的pom.xml文件中的properties和libraries改为老师给的,前者用以配置数据库版本,后者用以引用jar包。
修改内容如下:
UTF-8
1.8
1.8
5.0.2.RELEASE
3.2.6
1.7.7
1.2.17
0.9.5.2
1.1.2
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.mchange
c3p0
${c3p0.version}
taglibs
standard
${taglibs.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
provided
实现dao操作
接着在ssm_dao子项目下的main目录下创建dao目录,在里面创建dao接口,在ssm_dao子项目下的resources目录下创建mapper目录,在里面创建UserMapper.xml文件,用来实现dao操作。
IUserDao中的内容为
UserMapper中的内容为
实现类UserService
接着在ssm_service中创建一个service接口IUserService,以及一个service接口的实现类UserService。
文件结构如下图:
IUserService内容如下
package abc.service;
import abc.bean.UserInfo;
import java.util.List;
public interface IUserService {
public List findAll();
public boolean doLogin(UserInfo userInfo);
}
UserService内容如下
package abc.service.Impl;
import abc.bean.UserInfo;
import abc.dao.IUserDao;
import abc.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService implements IUserService {
@Autowired
private IUserDao userDao;
@Override
public List findAll() {
return userDao.findAll();
}
@Override
public boolean doLogin(UserInfo userInfo) {
UserInfo userInfo1 = userDao.doLogin(userInfo);
if(userInfo1!=null)
{
return true;
}
else
return false;
}
}
实现控制层
接下来在ssm_web子模块下新建UserController类,用来实现控制层。
UserController内容如下:
package abc.controller;
import abc.bean.UserInfo;
import abc.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping("findAll.do")
public ModelAndView findAll()
{
List infos=userService.findAll();
ModelAndView mv = new ModelAndView();
mv.addObject("infos",infos);
mv.setViewName("user-list");
return mv;
}
@RequestMapping("login.do")
public ModelAndView dologin(UserInfo userInfo)
{
boolean flag=userService.doLogin(userInfo);
ModelAndView modelAndView=new ModelAndView();
if(flag)
{
modelAndView.setViewName("main");
}
else{
modelAndView.setViewName("../failer");
}
return modelAndView;
}
}
配置网页文件:
接着在ssm_web目录下的webapp文件夹中粘贴css、img、pages文件夹(这个三个文件夹下的内容老师已经帮我们写好了),并且粘贴failer.jsp、index.jsp、login.jsp文件(老师已经帮我们写好)
配置其他文件
接下来在ssm_web目录下的resources文件夹中粘贴applicationContext.xml、db.properties、log4j.properties、spring-mvc.xml四个文件(老师已帮我们写好),并且修改一下db.properties中的一些数据库连接信息,还有applicationContext.xml和spring-mvc.xml中的一些适配自己项目的地方。
applicationContext.xml内容为:
db.properties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/idea?useSSL=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123
log4j.properties
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
spring-mvc.xml
配置web.xml文件
接着修改ssm_web子模块中的WEB-INF目录下的web.xml文件,将里面的内容替换为老师所给的内容。
web.xml内容为:
contextConfigLocation
classpath*:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
characterEncodingFilter
/*
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
dispatcherServlet
*.do
然后在login.jsp文件中给登陆按钮配置函数执行路径,如下图
加载tomcat
选择菜单run-》edit configrations
在选择加号,并选择Tomcat Server-》local
在Deployment中添加deploy:ssm_web:war exploded
选择OK,加载完成。
登陆后