毕业论文选题系统是基于微信小程序,后端是基于java编程语言,ssm框架,mysql数据库和IDEA工具开发,本系统分为学生,教师,管理员三个角色;学生可以注册登陆系统,查看系统公告,选课论文课题,提交课题论文,查看论文审核,答辩结果等信息;教师可以发布课题,审核学生论文,课题答辩结果,在线回复学生留言;管理员对学生,教师,公告,论文,选题,答辩等进行管理;本系统功能齐全,文档齐全,适合作为微信小程序毕业设计来参考和学习。
一技术环境
jdk版本:18 及以上
ide工具:IDEA ,微信小程序开发工具
数据库: mysql57 (必须57)
编程语言: Java
tomcat: 80 及以上
java框架:SSM
maven: 361
前端:layui ,微信
详细技术:HTML+CSS+JS+JSP+JAVA+SSM+MYSQL+JQUERY+MAVEN+微信开发工具
二项目文件(项目获取请看文末官网)
在这里插入描述
三系统功能
在这里插入描述
四代码示例
package comlmucontroller;
/
和登陆有关的都在这里
/
import comopensymphonyxwork2ActionContext;
import comopensymphonyxwork2ActionSupport;
import comlmumodelRole;
import comlmumodelUser;
import comlmuserviceRoleService;
import comlmuserviceUserService;
import comlmuutilsJsonUtils;
import comlmuutilsUserUtils;
import orgapachecommonscollectionsmapHashedMap;
import orgapachestruts2ServletActionContext;
import orgspringframeworkbeansfactoryannotationAutowired;
import orgspringframeworkcontextannotationScope;
import orgspringframeworkstereotypeController;
import javaioIOException;
import javautilHashMap;
import javautilMap;
@Controller("loginController")
@Scope("prototype")
public class LoginController extends ActionSupport {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
private User user;
private Map<String, Object> map = new HashMap();
public User getUser() {
return user;
}
public void setUser(User user) {
thisuser = user;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
thisuserService = userService;
}
/
用户登陆
@return
/
public void index() throws IOException {
User user1 = userServicegetUser(user);
if (user1 != null){
if (user1getIsSh() == 1){
if (user1getRole()getEnName()equals("admin")){
ActionContextgetContext()getSession()put("user", user1);
}
if (user1getRole()getEnName()equals("js")){
ActionContextgetContext()getSession()put("user1", user1);
}
if (user1getRole()getEnName()equals("xs")){
ActionContextgetContext()getSession()put("user2", user1);
}
mapput("flag", 1);
mapput("url", "login_indexsdo");
mapput("id", user1getId());
JsonUtilstoJson(map);
} else {
mapput("flag", 2);
JsonUtilstoJson(map);
}
} else {
mapput("flag", 3);
JsonUtilstoJson(map);
}
}
public String indexs() throws IOException {
User u = UserUtilsgetUser();
if (u != null){
ActionContextgetContext()put("user", u);
String ss = ugetRole()getEnName();
ActionContextgetContext()put("role", ugetRole()getEnName());
}
return SUCCESS;
}
//登陆页面
public String login() {
return SUCCESS;
}
//退出
public String tuichu() {
ActionContext ac = ActionContextgetContext();
Map session = acgetSession();
sessionremove("userName");
sessionremove("userId");
ServletActionContextgetRequest()getSession()invalidate();
return "login";
}
}
package comlmucontroller;
/
用户新增
/
import comopensymphonyxwork2ActionContext;
import comopensymphonyxwork2ActionSupport;
import comopensymphonyxwork2ModelDriven;
import comlmumodelRole;
import comlmumodelUser;
import comlmuserviceRoleService;
import comlmuserviceUserService;
import comlmuutilsJsonUtils;
import comlmuutilsPager;
import comlmuutilsUserUtils;
import orgspringframeworkbeansfactoryannotationAutowired;
import orgspringframeworkcontextannotationScope;
import orgspringframeworkstereotypeController;
import javaawteventFocusEvent;
import javaioIOException;
import javautilDate;
import javautilHashMap;
import javautilMap;
@Controller("userController")
@Scope("prototype")
public class UserController extends ActionSupport implements ModelDriven<User> {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
private User user;
private Integer userId;
private Map<String, Object> map = new HashMap();
/
list
@return
/
public String list() throws IOException {
User user1 = UserUtilsgetUser();
if (user1 == null || user1getId() == null){
ActionContextgetContext()put("login", 1);
return SUCCESS;
}
Pager<User> pagers = null;
Role role = user1getRole();
if (rolegetEnName()equals("admin")) {
pagers = userServicegetList(user);
ActionContextgetContext()put("pagers", pagers);
ActionContextgetContext()put("user", user1);
ActionContextgetContext()put("role", role);
ActionContextgetContext()put("bean", user);
return SUCCESS;
} else if (rolegetEnName()equals("xs") || rolegetEnName()equals("js")) {
pagers = userServicegetList(user1);
ActionContextgetContext()put("pagers", pagers);
ActionContextgetContext()put("bean", user);
return SUCCESS;
}
return null;
}
/
跳转add
@return
/
public String add() {
Pager<Role> pagers = roleServicepagers();
ActionContextgetContext()put("pagers", pagers);
return SUCCESS;
}
/
查询修改
@return
/
public String edit() {
User bean = userServicefindById(userId);
Pager<Role> pagers = roleServicepagers();
ActionContextgetContext()put("bean", bean);
ActionContextgetContext()put("pagers", pagers);
return SUCCESS;
}
/
审核
@return
/
public void updateSh() throws IOException {
usersetIsSh(1);
userServiceupdates(user);
mapput("flag", true);
mapput("url", "user_listdo");
JsonUtilstoJson(map);
}
/
更新
@return
/
public String update() throws IOException {
if (usergetPass()equals("")){
usersetPass(null);
}
userServiceupdates(user);
mapput("flag", true);
mapput("url", "user_listdo");
JsonUtilstoJson(map);
return SUCCESS;
}
/
保存
@return
/
public void save() throws IOException {
if (userServicegetUser(user) != null){
mapput("flag", false);
mapput("url", "login_logindo");
JsonUtilstoJson(map);
} else {
usersetTime(new Date());
userServicesave(user);
mapput("flag", true);
mapput("url", "login_logindo");
JsonUtilstoJson(map);
}
}
public void delete() throws IOException {
User user1 = userServicefindById(userId);
user1setIsDelete(1);
userServiceupdate(user1);
mapput("flag", true);
mapput("url", "user_listdo");
JsonUtilstoJson(map);
}
@Override
public User getModel() {
if (user == null) {
user = new User();
}
return user;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
thisuserId = userId;
}
public User getUser() {
return user;
}
public void setUser(User user) {
thisuser = user;
}
}
import javautilCollections;
import javautilHashMap;
import javautilLinkedList;
import javautilList;
import javautilMap;
public class Test {
public static void main(String[] args) {
final String[] str = { "a-b 1:1", "a-c 2:1", "b-c 0:1" };
final Map<String, Integer> map = new HashMap<String, Integer>();
for (String s : str) {
final String[] temp = ssplit(" ");
final String[] names = temp[0]split("-");
final String[] counts = temp[1]split(":");
for (int i = 0; i < 2; i++) {
String name = names[i];
int count = IntegerparseInt(counts[i]);
if (mapcontainsKey(name)) {
mapput(name, mapget(name) + count);
} else {
mapput(name, count);
}
}
}
final List<Team> teams = new LinkedList<Team>();
for (String name : mapkeySet()) {
teamsadd(new Team(name, mapget(name)));
}
Collectionssort(teams);
Systemoutprintln("队伍 : 分");
for (Team t : teams) {
Systemoutprintln(tgetName() + " : " + tgetCount());
}
}
}
class Team implements Comparable<Team> {
private String name;
private int count;
public Team(String name, int count) {
thisname = name;
thiscount = count;
}
public void addCount(int count) {
thiscount = thiscount + count;
}
public String getName() {
return name;
}
public int getCount() {
return count;
}
public int compareTo(Team o) {
return ogetCount() - thiscount;
}
}
系统开机出现operating system not found未找到 *** 作系统,其实也就是系统分区激活出现了问题,而且多为安装ghost系统导致。
我们只需要利用ghost光盘镜像中的分区工具激活主分区即可。
1、设置光盘启动。
打开虚拟机软件,右键建立的虚拟机,选择电源,打开电源时进入固件。
这样开机后就可以直接进入bios设置,不需要在抢时间按F2进入bios。
选择boot选项卡,将光驱设置为第一启动。
然后选择EXIT选项卡,选择Exit Saving Changes保存推出。
这样就可以利光盘启动了。
2、设置主分区为激活分区
光盘启动后进入光盘的PE系统,并打开里面的diskgenius硬盘分区软件。
右键点击主分区(C盘),选择激活当前分区。
点击保存修改后,重新启动虚拟机即可。
另:虚拟机安装系统最好用源版安装系统,这样可以减少这写问题,而且30分钟也完成了。
从系统的提示分析,VMware有残留的文件未清理干净,影响正常安装。
建议使用VMware卸载清理助手清理一次,然后再重新安装。下载地址:
>
如何检查一个数组(未排序)中是否包含某个特定的值?在Java中,这是一个非常有用并又很常用的 *** 作。同时,在StackOverflow中,有时一个得票非常高的问题。在下面的例子中,将展示每个方法花费的时间。
1、不同的实现方式
2) 使用Set:
3) 使用循环:
4) 使用ArraysbinarySearch:
2、时间复杂度
使用如下代码来粗略比较不同实现间的时间复杂度。虽然不是很精确,但是思路确实正确的。我们将看看数组在有5、1k、10k个元素的情况下的不同表现。
结果:
使用大一点的数组(1k个元素):
结果:
从上面的结果可以清晰看到,使用简单循环的相比使用其他集合 *** 作更高效。很多很多开发人员使用第一种方法,但是它并不是最高效的。将数组转化成其他的任何集合类型都需要先将所有元素读取到集合类中,才能对这个集合类型做其他的事情。
当使用ArraysbinarySearch()方法时,数组必须是排好序的。如果数组不是排好序的,则不能使用这个方法。
事实上,如果你真的需要高效地检查一个数组或者集合中是否包含一个值,一个排好序的数组或者树可以达到O(log(n))的时间复杂度,HashSet甚至能达到O(1)的时间复杂度。
例:
#include<stdio.h>/*standardinput&output*/
#include<stdlib.h>/*standardlibary*/
#include<string.h>/*string*/
#include<conio.h>/*ConsoleInput/Output*/
#include<time.h>
structstudentinfo/*学生信息的结构体*/
{
charsNo[5];/*学生编号*/
charsxueNo[14];/*学号*/
charsname[20];/*学生的姓名*/
}st[100];
charhash[100]={0};/*链表的数组*/
intmain()
{
inti=0,j=0,flag=0,RN,*a;
FILE*fp;
charch,filename[20]={0},line[100]={0};
printf("Pleaseinputfilename:");
//fflush(stdin);/*用来清空输入缓存,以便不影响后面输入的东西*/
gets(filename);/*键盘输入文件名*/
fp=fopen(filename,"r");/*openreadonly*/
printf("名单如下:\n");/*显示所有的学生信息*/
while(fgets(line,sizeof(line)-1,fp))
{
if(line[0]!='\n'&&line[0]!='')
{
sscanf(line,"%s%s%s\n",st[i].sNo,st[i].sxueNo,st[i].sname);/*文件输入*/
printf("%s\n%s\n%s\n",st[i].sNo,st[i].sxueNo,st[i].sname);/*打印出来*/
i++;/*统计人数*/
}
}
/*设置随机数种子*/
srand((unsigned)time(NULL));
/*sizeof(类型符)是计算类型所占字节数,sizeof(int)是int所占字节数,再乘以i,得到i个int型数据的总字节数。malloc函数用于动态开辟一块内存空间,参数为开辟的内存空间字节数,返回开辟的内存空间的首地址指针。*/
a=(int*)malloc(sizeof(int)*i);
memset(a,-1,sizeof(a));/*将已开辟内存空间a的第4个字节设置为-1*/
printf("按空格键点名,其他键退出:");
fflush(stdin);
while((ch=getch())=='')
/*while(!(ch=getch())==NULL)*/
{
if(flag==i)/*如果flag等于总人数*/
{
printf("%s\n","点名结束");
break;
}
RN=rand()%i;/*产生一个随机数*/
while(hash[RN]==1)/*判断有没有完成某个一个学生点名*/
RN=rand()%i;/*产生随机数*/
flag++;/*计数*/
printf("\n~~~~~\n%s\n%s\n%s\n------------\n",st[RN].sNo,st[RN].sxueNo,st[RN].sname);/*输出学生的信息*/
hash[RN]=1;
}
}
扩展资料:
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
代码如下:
import javaawtColor;import javaawtDimension;
import javaawtFlowLayout;
import javautilHashMap;
import javautilMap;
import javaxswingJComboBox;
import javaxswingJFrame;
import javaxswingJTextField;
public class App extends JFrame {
private JComboBox<String> cbxColors;
private JTextField txtName;
private Map<String, Color> colorMap;
public App() {
thissetSize(300, 100);
thissetLocationRelativeTo(null);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
thissetLayout(new FlowLayout());
colorMap = new HashMap<>();
colorMapput("红", ColorRED);
colorMapput("绿", ColorGREEN);
colorMapput("蓝", ColorBLUE);
colorMapput("黄", ColorYELLOW);
cbxColors = new JComboBox(colorMapkeySet()toArray());
cbxColorssetPreferredSize(new Dimension(50, 23));
cbxColorsaddItemListener(e -> {
Color color = colorMapget(egetItem());
txtNamesetBackground(color);
});
thisadd(cbxColors);
txtName = new JTextField();
txtNamesetPreferredSize(new Dimension(100, 23));
txtNamesetBackground(ColorRED);
thisadd(txtName);
}
public static void main(String[] args) {
new App()setVisible(true);
}
}
运行结果:
以上就是关于论文双选小程序怎么弄全部的内容,包括:论文双选小程序怎么弄、用java编写小程序,已知a、b、c 3个队伍进行足球比赛,胜利3记分,平局1分,输0分、为什么在VM虚拟机里装xp系统老是装不上去等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)