SSM框架实例

来源:互联网 发布:阿里云 自己安装系统 编辑:程序博客网 时间:2024/05/19 19:15

添加需要的包

新建一个Web项目,在这里,命名为NewsPlatform。将smm中的包,复制到Web App Libraries中。
将之前的 applicationContext.xml、mybatis-config.xml、servlet-mvc、log4j.properties复制到src根目录下。注意,添加build path。

在WEB-INF下的web.xml添加配置信息

在这里的代码:

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">    <display-name></display-name>    <welcome-file-list>        <welcome-file>index.jsp</welcome-file>    </welcome-file-list>    <!-- 全局上下文配置信息 -->    <context-param>        <!-- 上下文配置路径 -->        <param-name>contextConfigLocation</param-name>        <!-- 访问spring配置信息 -->        <param-value>classpath:applicationContext.xml</param-value>    </context-param>    <!-- 配置spring启动listener入口 -->    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <!-- 中文乱码解决 -->    <filter>        <filter-name>EncodingFilter</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>utf-8</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>EncodingFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <!-- <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern>         </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name>         <url-pattern>*.png</url-pattern> </servlet-mapping> -->    <servlet>        <servlet-name>mvc</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:servlet-mvc.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>mvc</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>    <!-- 页面错误码处理 -->    <error-page>        <error-code>500</error-code>        <location>/500.jsp</location>    </error-page>    <error-page>        <error-code>404</error-code>        <location>/404.jsp</location>    </error-page></web-app>

实体类User

在entity包中,建一个实体类,User,包括的属性有编号、姓名和密码。

package com.jereh.entity;/** * 用户类 * @author Administrator * */public class User {    private int id;    private String name;    private String pwd;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPwd() {        return pwd;    }    public void setPwd(String pwd) {        this.pwd = pwd;    }}

在dao层下,建一个UserDao接口

package com.jereh.dao;import com.jereh.entity.User;public interface UserDao {    /**     * 查询是否存在用户     * @return     */    User findUser(User user);}

在service包下,建建一个类UserService,用来处理用户的业务

package com.jereh.service;import com.jereh.entity.User;/** * 用户服务,处理用户的业务 * @author Administrator */public interface UserService {    User login(User user);}

在index.jsp中,写一个登陆页面

<form action="user/login.do" method="post">        用户名:<input type="text" name="name" value="${user.name}" /><br/>        密码:<input type="password" name="pwd" value="${user.pwd }"/><br/>        <input type="submit" value="登录" /><span style="color: red;">${error}</span>    </form>

写一个welcome.jsp的欢迎页面,登陆之后,跳转到welcome页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">    <title>My JSP 'welcome.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->  </head>  <body>    欢迎您,尊敬的${user.name}  </body></html>

mappers包下,新建一个UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace对应接口地址 --><mapper namespace="com.jereh.dao.UserDao">    <select id="findUser" parameterType="User" resultType="User">        select * from user         <where>            <if test="id>0">                and id=#{id}            </if>            <if test="name!=null">                and name=#{name}            </if>            <if test="pwd!=null">                and pwd=#{pwd}            </if>        </where>    </select></mapper> 

在service.impl包,建UserServiceImpl类

package com.jereh.service.impl;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.jereh.dao.UserDao;import com.jereh.entity.User;import com.jereh.service.UserService;@Servicepublic class UserServiceImpl implements UserService {    @Resource    private UserDao userDao;    @Override    public User login(User user) {        // TODO Auto-generated method stub        return userDao.findUser(user);    }}

在controller层,建一个UserController类

package com.jereh.controller;import java.util.Map;import javax.annotation.Resource;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.jereh.entity.User;import com.jereh.service.UserService;@Controller@RequestMapping("user/")public class UserController {    @Resource    private UserService userService;    @RequestMapping("login")    public String login(User user,Map<String, Object> map,HttpSession session) {        //登录        User resultUser=userService.login(user);        if(resultUser!=null) {            //跳转welcome界面            session.setAttribute("user", resultUser);            return "welcome";        } else {            //跳转到index界面            //登录时填写的用户数据            map.put("user", user);            //错误信息            map.put("error", "用户名或密码错误,请重新填写");            return "index";        }    }}

统一异常处理,在util包下,建一个HandlerException类

package com.jereh.util;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;/** * 统一异常处理 * @author Administrator * */public class HandlerException implements HandlerExceptionResolver {    @Override    public ModelAndView resolveException(HttpServletRequest request,            HttpServletResponse response, Object handler, Exception ex) {        // TODO Auto-generated method stub        //定位到一个新页面        ModelAndView view=new ModelAndView();        view.setViewName("excep");        ex.printStackTrace();        return view;    }}
1 0
原创粉丝点击