JSP个人信息管理demo(servlet+jquery)

该demo实现了显示所有人员的信息、查看单人的详细信息、修改个人信息三个主要的功能。虽然功能不多但是可以对java的三层架构的知识点进行巩固。

项目分为三层,分别是dao、service、web层。dao层作为数据访问层,所有的与数据库交互的逻辑在这里完成。在dao层里建立两个包Dao和DaoImpl,一个用来存放接口一个用来存放接口的实现类。接着建立基础接口BaseDao<T>和基础类BaseDaoImpl<T>。这里用到了泛型是为了实现具体的业务的时候创建的具体的数据访问类能够继承BaseDao<T>和BaseDaoImpl<T>,通过泛型将持久化类传进去进行sql语句的拼接,定制属于自己的sql语句。

创建好基础接口和类以后创建业务需求的dao类,这里因为建的个人信息持久化的类名为Profile,所以创建的Dao层的接口和接口实现类为UserDao和UserDaoImpl,直接继承BaseDao和BaseDaoImpl。

继承方式如下:

public interface UserDao extends BaseDao<Profile>{}

public class UserDaoImpl extends BaseDaoImpl<Profile> implements UserDao{}

如果有特殊的sql语句需要写在Dao层的实现类里面。

接着创建service层也就是业务逻辑层,主要用来处理业务的逻辑,一般来讲业务不复杂的情况下直接实例化Dao层的实现类以后直接做一层封装并且调用Dao里面的方法。

public interface UserService{}

public class UserServiceImpl implements UserService{

UserDao userDao = new UserDaoImpl();

}

然后是web层,这里web层用的是servlet。创建好servlet类并且配置好web.xml文件。这里创建一个servlet去完成三个方法,在doGet函数里创建了一个method参数,判断url地址传进来的method的不同的值调用不同的方法。

最后是jsp页面的创建。首先是首页要显示所有的个人信息,所以在servlet类里面创建了一个show方法。里面的逻辑就是调用service层里的查询所有并且将传进来的值放入一个list里面,然后通过forward跳转页面。前端页面使用jstl标签对list进行遍历,然后通过el表达式取到list里面的值。访问地址UserServlet?method=show

接着是个人详细信息的页面的显示。接受数据的方式和首页显示的方式差不多,后台只要得到用户的id值就能查询出该用户的所有信息。这里用隐藏域的方式将用户的id放在首页中,然后通过jquery的选择器。当点击某一行的“明细”button时就去找这一行中的id隐藏域,并且得到id的值通过get参数的形式将id传进servlet里面的query方法然后跳转到用户的详细信息显示页面。jquery:window.location.herf = "UserServlet?method=query&id=?"+val;(通过$.post()的方式传参到servlet无法实现跳转?)

最后一个是修改个人信息,当点击“修改”button时跳转一个类似于“个人信息页面”的页面,区别在于修改页面除了“编号”,其他的数值都能修改。在这里用户的性别为select类型,使用jquery获取个人性别el表达式的值然后默认设置为该用户的真实性别

var val = "${profile.gender}"

$(".select").val("val")

"UserServlet?method=showUpdate&id="+val 个人信息修改 页面地址 showUpdate()与query()类似

"UserServlet?method=update"个人信息修改 地址 update()

update()方法里需要设置request.setCharacterEncoding("UTF-8")在doGet或者doPost里面 不然修改出来的信息会是乱码。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值