简单的新闻发布系统--登录

1、登录功能前台页面的创建
编写登录页面login.jsp,其中注册按钮提交使用javascript处理。
<input type="button" name="cmdCancel" value="注  册"class="defaultButton" onclick="onclick_reg(‘register/register.jsp’);">
javascript函数onclick_reg的关键代码:
function onclick_reg(url){
	login.action=url;
	login.submit();
}
编写登录成功页面,注意登录成功页面实际上就是进入主界面。
2、登录功能后台类的创建
编写登录业务逻辑处理类LoginBean.java,关键代码:
public User login(String username,String password) throws SQLException{
	//第一步:访问数据库
	DbHandle db =new DbHandle();
	String sql="select * from user where username='"+username+"' and password='"+password+"'";
	ResultSet rs=db.executeQuery(sql);
		
	User user = new User();
	//第三步:将登录用户的信息封装User中
	if(rs.next()){
		int userid = rs.getInt("id");
		String username1 = rs.getString("username");
		String password1 = rs.getString("password");
		String sex = rs.getString("sex");
		String profession = rs.getString("profession");
		String favourite = rs.getString("favourite");
		String type = rs.getString("type");
			
		user.setId(userid);
		user.setUsername(username1);
		user.setPassword(password1);
		user.setSex(sex);
		user.setProfession(profession);
		user.setFavourite(favourite);
		user.setType(type);
		//关闭数据库
		db.close();
		return user;
	}
	else{
		//关闭数据库
		db.close();
		return null;
	}
}
登录流程控制servlet类LoginServlet.java,登录成功后将用户信息放到session中以便后续功能使用,关键代码:
//调用业务处理类LoginBean进行登录
LoginBean loginBean = new LoginBean();
User user = new User();
try {
	user = loginBean.login(username, password);
	if(user!=null){
		//如果登录成功,将登录用户的信息存放到session中,返回主界面
		request.getSession().setAttribute("user", user);
		request.getRequestDispatcher("main.jsp").forward(request, response);
	}else{
		//登录不成功,返回登录界面继续登录
		request.getRequestDispatcher("login/login.jsp").forward(request, response);
	}
} catch (SQLException e) {
	// TODO Auto-generated catch block
	System.out.println("登录时访问数据库失败");
	e.printStackTrace();
}


在菜单显示页面menu.jsp中,通过获取登录用户的类型从而控制菜单项的显示,管理员用户可以管理用户,针对注册用户进行删除,修改和查询,而普通用户不能进行管理。针对menu.jsp进行修改,关键代码如下:
<%
		User user = (User)session.getAttribute("user");
		String type = user.getType();
		//如果当前登录用户为管理员,则具有管理用户权限
		if(user.getType().equals("1")){
			%>
			<tr>
				<td>
					<a href="user/queryUser.jsp" target="content">用户管理</a>
				</td>
			  </tr>
			<%
		}
%>
3、修改配置文件
   <servlet>
    <description></description>
    <display-name>LoginServlet</display-name>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.servlet.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
  </servlet-mapping>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值