毕业论文选题系统是基于微信小程序,后端是基于java编程语言,ssm框架,mysql数据库和IDEA工具开发,本系统分为学生,教师,管理员三个角色;学生可以注册登陆系统,查看系统公告,选课论文课题,提交课题论文,查看论文审核,答辩结果等信息;教师可以发布课题,审核学生论文,课题答辩结果,在线回复学生留言;管理员对学生,教师,公告,论文,选题,答辩等进行管理;本系统功能齐全,文档齐全,适合作为微信小程序毕业设计来参考和学习。一.技术环境jdk版本:1.8 及以上ide工具:IDEA ,微信小程序开发工具数据库: mysql5.7 (必须5.7)编程语言: Javatomcat: 8.0 及以上java框架:SSMmaven: 3.6.1前端:layui ,微信详细技术:HTML+CSS+JS+JSP+JAVA+SSM+MYSQL+JQUERY+MAVEN+微信开发工具二.项目文件(项目获取请看文末官网)在这里插入图片描述三.系统功能在这里插入图片描述四.代码示例package com.lmu.controller;/** * 和登陆有关的都在这里 */import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.lmu.model.Role;import com.lmu.model.User;import com.lmu.service.RoleService;import com.lmu.service.UserService;import com.lmu.utils.JsonUtils;import com.lmu.utils.UserUtils;import org.apache.commons.collections.map.HashedMap;import org.apache.struts2.ServletActionContext;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import java.io.IOException;import java.util.HashMap;import java.util.Map;@Controller("loginController")@Scope("prototype")public class LoginController extends ActionSupport {    @Autowired    private UserService userService;    @Autowired    private RoleService roleService;    private User user;    private Map map = new HashMap();    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public UserService getUserService() {        return userService;    }    public void setUserService(UserService userService) {        this.userService = userService;    }    /** * 用户登陆 * @return */	public void index() throws IOException {       User user1 = userService.getUser(user);        if (user1 != null){            if (user1.getIsSh() == 1){                if (user1.getRole().getEnName().equals("admin")){                    ActionContext.getContext().getSession().put("user", user1);                }                if (user1.getRole().getEnName().equals("js")){                    ActionContext.getContext().getSession().put("user1", user1);                }                if (user1.getRole().getEnName().equals("xs")){                    ActionContext.getContext().getSession().put("user2", user1);                }                map.put("flag", 1);                map.put("url", "login_indexs.do");                map.put("id", user1.getId());                JsonUtils.toJson(map);            } else {                map.put("flag", 2);                JsonUtils.toJson(map);            }        } else {            map.put("flag", 3);            JsonUtils.toJson(map);        }    }    public String indexs() throws IOException {        User u = UserUtils.getUser();        if (u != null){            ActionContext.getContext().put("user", u);            String ss = u.getRole().getEnName();            ActionContext.getContext().put("role", u.getRole().getEnName());        }        return SUCCESS;    }	//登陆页面	public String login() {        return SUCCESS;	}   //退出	public String tuichu() {		ActionContext ac = ActionContext.getContext();		Map session = ac.getSession();		session.remove("userName");		session.remove("userId");		ServletActionContext.getRequest().getSession().invalidate();		return "login";	}}package com.lmu.controller;/** * 用户新增 */import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import com.lmu.model.Role;import com.lmu.model.User;import com.lmu.service.RoleService;import com.lmu.service.UserService;import com.lmu.utils.JsonUtils;import com.lmu.utils.Pager;import com.lmu.utils.UserUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import java.awt.event.FocusEvent;import java.io.IOException;import java.util.Date;import java.util.HashMap;import java.util.Map;@Controller("userController")@Scope("prototype")public class UserController extends ActionSupport implements ModelDriven {    @Autowired    private UserService userService;    @Autowired    private RoleService roleService;    private User user;    private Integer userId;    private Map map = new HashMap();/**     * list     *     * @return     */    public String list() throws IOException {        User user1 = UserUtils.getUser();        if (user1 == null || user1.getId() == null){            ActionContext.getContext().put("login", 1);            return SUCCESS;        }        Pager pagers = null;        Role role = user1.getRole();        if (role.getEnName().equals("admin")) {            pagers = userService.getList(user);            ActionContext.getContext().put("pagers", pagers);            ActionContext.getContext().put("user", user1);            ActionContext.getContext().put("role", role);            ActionContext.getContext().put("bean", user);            return SUCCESS;        } else if (role.getEnName().equals("xs") || role.getEnName().equals("js")) {            pagers = userService.getList(user1);            ActionContext.getContext().put("pagers", pagers);            ActionContext.getContext().put("bean", user);            return SUCCESS;        }        return null;    }/**     * 跳转add     *     * @return     */    public String add() {        Pager pagers = roleService.pagers();        ActionContext.getContext().put("pagers", pagers);        return SUCCESS;    }    /**     * 查询修改     *     * @return     */    public String edit() {        User bean = userService.findById(userId);        Pager pagers = roleService.pagers();        ActionContext.getContext().put("bean", bean);        ActionContext.getContext().put("pagers", pagers);        return SUCCESS;    }/**     * 审核     *     * @return     */    public void updateSh() throws IOException {        user.setIsSh(1);        userService.updates(user);        map.put("flag", true);        map.put("url", "user_list.do");        JsonUtils.toJson(map);    }    /**     * 更新     *     * @return     */    public String update() throws IOException {        if (user.getPass().equals("")){            user.setPass(null);        }        userService.updates(user);        map.put("flag", true);        map.put("url", "user_list.do");        JsonUtils.toJson(map);        return SUCCESS;    }    /**     * 保存     *     * @return     */    public void save() throws IOException {        if (userService.getUser(user) != null){            map.put("flag", false);            map.put("url", "login_login.do");            JsonUtils.toJson(map);        } else {            user.setTime(new Date());            userService.save(user);            map.put("flag", true);            map.put("url", "login_login.do");            JsonUtils.toJson(map);        }    }    public void delete() throws IOException {        User user1 = userService.findById(userId);        user1.setIsDelete(1);        userService.update(user1);        map.put("flag", true);        map.put("url", "user_list.do");        JsonUtils.toJson(map);    }    @Override    public User getModel() {        if (user == null) {            user = new User();        }        return user;    }    public Integer getUserId() {        return userId;    }    public void setUserId(Integer userId) {        this.userId = userId;    }    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }}