当前位置: 首页 > wzjs >正文

做网站和seo流程官方网站营销

做网站和seo流程,官方网站营销,网站制作案例价格,亿级别网站开发注意文章目录 登出、注册、注销、修改登出操作的实现逻辑及方式防止用户登出后可以继续访问修改密码功能实现导入jsp实现Dao层数据接口实现Service层业务接口注册Servlet 注册和注销 用户的方式导入jsp实现Dao层的数据逻辑实现Service逻辑注册Servlet 登出、注册、注销、修改 登出…

文章目录

  • 登出、注册、注销、修改
    • 登出操作的实现逻辑及方式
    • 防止用户登出后可以继续访问
    • 修改密码功能实现
      • 导入jsp
      • 实现Dao层数据接口
      • 实现Service层业务接口
      • 注册Servlet
    • 注册和注销 用户的方式
      • 导入jsp
      • 实现Dao层的数据逻辑
      • 实现Service逻辑
      • 注册Servlet

登出、注册、注销、修改

登出属于断开登录,操作session就可以解决

应用更改数据库的处理模式,add,delete,modify都是属于事务处理操作

登出操作的实现逻辑及方式

清楚session就可以,不再保存登录记录

package com.dashangms.servlet.user;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class LogoutServlet extends HttpServlet {@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 移除session 中的用户信息request.getSession().removeAttribute("user");// 跳转到登录页面response.sendRedirect(request.getContextPath() + "/jsp/login.jsp");}Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);}
}
    <!--注册Logout servlet--><servlet><servlet-name>logout</servlet-name><servlet-class>com.dashangms.servlet.user.LogoutServlet</servlet-class></servlet><!--Logout servlet请求路径--><servlet-mapping><servlet-name>logout</servlet-name><url-pattern>/logout</url-pattern></servlet-mapping>

防止用户登出后可以继续访问

  1. 思路:页面登出时先走login拦截器,如果session清空就说明已退出
package com.dashangms.filter;import com.common.Constants;import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class LoginFilter extends HttpFilter {/*** 执行过滤操作** @param request  Servlet请求,用于获取HTTP请求信息* @param response Servlet响应,用于向客户端发送数据* @param chain    过滤链,用于将请求传递给下一个过滤器或目标资源* @throws IOException 如果在执行过程中发生I/O错误* @throws ServletException 如果在执行过程中发生Servlet错误*/@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{// 将ServletRequest和ServletResponse转换为HttpServletRequest和HttpServletResponse// 以使用它们提供的高级功能和方法HttpServletRequest httpServletRequest = (HttpServletRequest) request;HttpServletResponse httpServletResponse = (HttpServletResponse) response;// 检查用户会话中是否存在用户信息// 如果不存在,说明用户未登录或会话已过期if (httpServletRequest.getSession().getAttribute(Constants.USER_SESSION) == null) {// 重定向用户到错误页面// 这里假设错误页面为"/error.jsp",实际路径应根据项目具体结构设置httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/error.jsp");} else {// 如果用户会话中存在用户信息,继续执行过滤链// 这允许请求继续传递到目标资源或下一个过滤器chain.doFilter(request, response);}}@Overridepublic void init() throws ServletException {super.init();}@Overridepublic void destroy() {super.destroy();}
}
  1. 登出后访问任意页面走过滤器处理
<!--    判断用户是否登录的过滤器--><filter><filter-name>LoginFilter</filter-name><filter-class>com.csnz.filter.LoginFilter</filter-class></filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping>

修改密码功能实现

导入jsp

<li><a href=${pageContext.request.contextPath}"/jsp/pwdmodify.jsp">密码修改</a></li>

实现Dao层数据接口

  1. 在Dao写一个接口
int updatePwd(Connection connection, Integer id, String newPwd) throws Exception;
  1. 实现这个接口
    /*** 更新用户密码** @param connection 数据库连接对象* @param id         用户id* @param newPwd     新密码* @return 影响行数* @throws Exception 异常处理*/@Overridepublic int updatePwd(Connection connection, Integer id, String newPwd) throws Exception {// 初始化影响行数为0int updateRow = 0;// 检查数据库连接是否为空if (connection != null){// 预编译SQL语句以提高性能和安全性PreparedStatement preparedStatement = null;String sql = "update smbms_user set userPassword = ? where id = ?";preparedStatement = connection.prepareStatement(sql);// 设置SQL语句参数preparedStatement.setString(1, newPwd);preparedStatement.setInt(2, id);// 执行更新操作并获取影响行数updateRow = preparedStatement.executeUpdate();// 关闭数据库连接和预编译语句资源BaseDao.closeResource(connection, preparedStatement, null);}// 返回影响行数return updateRow;}

实现Service层业务接口

  1. 在Service上写一个接口
    /*** 修改密码* @param id 用户id* @param newPwd 新密码* @return 修改成功 flag*/public boolean updatePwd(Integer id, String newPwd);
  1. 实现这个Service
    /*** 修改密码** @param id     用户id* @param newPwd 新密码* @return 修改成功 flag*/@Overridepublic boolean updatePwd(Integer id, String newPwd) {Connection conn = null;boolean flag = false;try {conn = BaseDao.connection();if (userDao.updatePwd(conn, id, newPwd) > 0){flag = true;}} catch (Exception e) {e.printStackTrace();} finally {BaseDao.closeConnection(conn);}return flag;}

注册Servlet

  1. 多个按钮会在同一个Servlet的中调用不同的方法;
  2. 相关密码的check逻辑:
  • 密码不能为空
  • 密码与旧密码不能相同
  • 密码输入要合法化
  1. 密码修改成功与否都会返回原页面。有msg显示。
package com.dashangms.servlet.user;import com.dashangms.pojo.User;
import com.dashangms.service.user.UserService;
import com.dashangms.service.user.UserServiceImpl;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class UserServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String method = req.getParameter("method");if ("savePassword".equals(method)) {savePassword(req, resp);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req, resp);}/*** 保存用户新密码** @param req  HTTP请求对象,用于获取请求参数和进行页面转发* @param resp HTTP响应对象,用于进行页面转发* @throws ServletException 如果Servlet操作出错* @throws IOException      如果输入输出操作出错*/private void savePassword(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取用户ID和新密码String id = req.getParameter("id");String newPwd = req.getParameter("newPwd");Object object = req.getSession().getAttribute("user");User user = (User) object;// 创建UserService对象UserService userService = new UserServiceImpl();if (user.getUserPassword().isEmpty()) {req.getSession().setAttribute("message", "密码不能为空!");} else if (user.getUserPassword().equals(newPwd)) {req.getSession().setAttribute("message", "新密码不能与旧密码相同!");} else {// 调用UserService的updatePwd方法更新用户密码if (userService.updatePwd(Integer.parseInt(id), newPwd)) {req.getSession().setAttribute("message", "密码修改成功!请使用新密码重新登陆");// 移除用户会话中的用户信息,表示用户已经注销req.getSession().removeAttribute("user");} else {// 如果密码更新失败,转发到错误页面req.getSession().setAttribute("message", "密码更新失败!");}}// 如果密码更新成功,转发到密码修改页面req.getRequestDispatcher("/pwdmodify.jsp").forward(req, resp);}
}
  1. 注册Servlet
    <servlet><servlet-name>UserServlet</servlet-name><servlet-class>com.dashangms.servlet.user.UserServlet</servlet-class></servlet><servlet-mapping><servlet-name>UserServlet</servlet-name><url-pattern>/jsp/user.do</url-pattern></servlet-mapping>

注册和注销 用户的方式

同上 改善点

导入jsp

可以共同使用同一个页面,根据前面页面传的值使用hidden确定显示哪部分内容;

实现Dao层的数据逻辑

  • 插入新用户 insert
  • 注销(删除)新用户 update (逻辑删除)

实现Service逻辑

  • 插入新用户 insert
    • 使用前先判断是否有同样的账号,判断一致性插入
  • 注销(删除)新用户 update (逻辑删除)
    • 停用功能,:停用和启用相对应,不会删除数据
    • 删除功能
      • 物理删除?
      • 逻辑删除?

注册Servlet

同样在UserServlet中调用其他的逻辑,主要点 在jsp中确定实现

不需要再新注册Servlet来实现

http://www.dtcms.com/wzjs/367875.html

相关文章:

  • 网站开发跟app开发的差别百度指数峰值查询
  • 物业公司排名2020最新排名提升seo排名
  • 现在流行的网站开发语言网络推广公司怎么找客户
  • 公司开通网站长沙网站制作主要公司
  • 福建住房城乡建设厅网站汽车推广软文
  • 书店网站建设定位及目标深圳网站建设找哪家公司好
  • 增长超人做网站多少钱bt磁力搜索器
  • 美女做暖暖免费视频2017网站网络销售模式有哪些
  • 开发一个个人网站百度seo推广优化
  • 网站建设属于软件开发吗关键词查询工具包括哪些
  • 武汉微信网站外贸平台排名
  • 高端的网站设计公司磁力狗在线引擎
  • 网站如何做引流网络推广计划方案
  • 东莞网站建设平台百度网站大全
  • 宁波网站公司网络优化器免费
  • ppt做视频模板下载网站有哪些微信引流获客软件
  • 网站建设的教学视频谷歌搜索排名规则
  • 怎样建设网站后台百度网络推广怎么做
  • 建筑方案设计流程步骤seo电商运营是什么意思
  • 电商网站开发用什么语言表达天眼查询个人信息
  • 中国商检局做备案网站长沙竞价优化
  • php做网站需要mysql么志鸿优化网下载
  • 网站重构案例绍兴百度seo
  • 成都网站建设技巧windows优化工具
  • 苏州手机网站搭建优化培训方式
  • 汽车网站建设公司哪家好2022最好的百度seo
  • 新疆规划建设局网站东莞百度seo排名
  • php中英文网站模板百度排名优化软件
  • 艺术家个人网站设计营销推广的形式包括
  • java 做网站后台网站维护工作内容