javaee的mvc框架简单用例开发

这个学期选修了javaee的这门课,然后实验自己用mvc框架写了一个小网站,网站就是简单的注册,登录,修改密码,做题目,查看成绩,然后管理员登录查看成绩,升序降序排列,简单的查询和数据库链接,也算是用javaee做了一个简单的项目吧,这次主要是总结一下自己写这个网站这几天来遇到的问题和一些简单的错误以及给新手看一下javaee的mvc框架的开发。
首先简单介绍一下mvc框架,m就相当于是model也就相当于javaee的javabean,相当于一个实体类,本次开发的话我有两个实体类,一个是user也就是用户,另一个也就是score,就是成绩,v就相当于view就是显示在前端的页面,在javaee中就是.jsp后缀的文件,c就是controller,也就是控制器,通过view前端传来数据或者点击等响应时间实现转换以及数据库的各种操作,在javaee中的控制器就是servlet,这三者的关系可以用一张图来表示
在这里插入图片描述
在这里插入图片描述
网站没有什么前端的技术我就直接上代码了。
首先先创建在java的文件夹下创建一个beans包并在其中创建两个类,一个user,一个score,
在这里插入图片描述
并且在类中声明相关的属性,在user类中有 学号 用户名 密码 ,在score类中有学号 用户名 成绩,并且在类中设置相应的构造函数以及get和set函数。
然后前端写一个register.jsp的注册界面,这个界面是用户用来注册的,并且在java文件夹下创建一个setvlets的文件夹用来装控制器文件,
在这里插入图片描述
其中 的意思就是当你点击了注册按钮的时候这个页面的内容就传给了
RegServlet这个控制器,在这个控制器中就会处理你这个界面的内容,一般就是数据库的增删改查等操作,下面是 RegServlet控制器的内容
public class RegServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String referer = request.getHeader(“referer”);
System.out.print(referer);
if(referer==null ||(!referer.endsWith(".jsp"))){
System.out.print(referer);
response.sendRedirect(“index.jsp”);
}else {

	String username=request.getParameter("username"); 
	String password=request.getParameter("password"); 
	User user=new User(); user.setUsername(username); 
	user.setPassword(password); UserDao userdao=new UserDao(); 
	if( userdao.isUsernameExists(username) ){ 
		request.getSession().setAttribute("err", "用户名已存在"); 
		response.sendRedirect("register.jsp"); 
		} 
	else{ 
		boolean flag=userdao.addUser(user); 
		if(flag){ 
			request.getSession().setAttribute("username", username); 
			response.sendRedirect("login.jsp"); 
			} 
		else{ 
			request.getSession().setAttribute("err", "注册失败"); 
			response.sendRedirect("register.jsp"); 
			} 
		} 
} 
}// end service

}
其中的isUsernameExists()的这种函数就是我要说的下一个知识点,也就是从前端jsp界面传来了数据我在控制器获得了之后我怎样和数据库打交道,刚才我们已经创建了两个实体类,我们可以利用这两个类的对象来声明并且传入数据库中,这样的话就是在创建一个dao文件夹然后分别在里面创建.java类,这个类的作用就是和数据库打交道,在这个类里面可以写各种函数,这些函数可以在servlet控制器里运用,比如说刚才的isUsernameExists()这个函数就是,我在dao层下面创建了一个scoredao和一个userdao类,分别用来和数据库的socre这张表和数据库user表打交道,我在userdao里面写了一个注册函数
public boolean isUsernameExists(String username) {
conn = getConnectionn();
try {
pStat = conn.prepareStatement(“select * from users where username=?”);
pStat.setString(1, username);
rs = pStat.executeQuery();
if (rs.next())
return true;
else
return false;
} catch (Exception e) {
return false;
} finally {
close();
}
} // end isUsernameExists

public boolean addUser(User user) {
	conn = getConnectionn();
	try {
		pStat = conn.prepareStatement("insert into users values(null,?,?)");
		pStat.setString(1, user.getUsername());
		pStat.setString(2, user.getPassword());
		int cnt = pStat.executeUpdate();
		if (cnt > 0)
			return true;
		else
			return false;
	} catch (Exception e) {
		return false;
	} finally {
		close();
	}
} // end add } //end class
首先sUsernameExists(String username)这个函数用来判断你输入的用户名在我的数据库里是否存在,若是存在的话会返回给控制器一个信息,然后控制器返回给jsp前端界面一个错误信息,若不存再,则调用adduser()

这个函数去把前端数据添加在数据库中,在userdao和scoredao中应该线连接数据库,链接数据库的代码如下:
public static final String DRIVER = “org.gjt.mm.mysql.Driver”;
public static final String DBURL = “jdbc:mysql://localhost:3306/testdb”;
public static final String DBUSER = “root”;
public static final String DBPASS = “707298”;
以上就是我自己初学javaee这门课一个简单的注册例子,我会将我的开头说的那个网站文件上传到附件中,对于javaee的感觉我就是认为特别复杂,需要配置很多文件和更改很多配置,然后就是需要太多的控制器,几乎一个界面对应一个控制器,写代码的时候就是写一个前端jsp就要写一个控制器,然后在相应的dao层写一个对应的函数,但是javaee的好处我认为就是当你学习了java而还没有学习其他的后台语言的时候,javaee特别容易上手而且javaee的代码的逻辑很清晰,从前端到控制器到数据库然后返回信息到控制器到在到前端,不像.net一样在一个控制器里写。
链接:https://pan.baidu.com/s/115oXN9E56aW8eSItTt8K2w
提取码:xb0o

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值