当前位置: 首页 > 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/518566.html

相关文章:

  • 安徽网站开发武汉疫情最新动态
  • 网站开发未按合同约定工期完工网站软文推广范文
  • 做图书网站赚钱吗产品seo是什么意思
  • 织梦dedecms大气微电影网站模板crm系统网站
  • 免费做公司手机网站网站收录查询系统
  • 南充建设企业网站网站怎么找
  • wordpress菜单相对地址搜索引擎优化公司
  • 快速建站服务谷歌三件套
  • 街道人大网站建设怎么自己做网站推广
  • 国内永久免费crm系统在线sem和seo有什么区别
  • wordpress建站教程百科如何在百度推广自己的产品
  • 常州网站网站建设如何创建公司网站
  • 陕西建设部网站百度关键词如何优化
  • 网站设计报价是多少企业推广策略
  • 华润置地建设事业部官方网站百度网络营销推广
  • 电子商务网站建设与管理笔试项目推广方案
  • wordpress评论通知站长怎样建立一个网站
  • wordpress手机网站怎么做河北电子商务seo
  • 赣州专业网站推广新手seo入门教程
  • 国家高新技术企业管理工作网贵州快速整站优化
  • 东陵网站制作百度seo关键词优化排名
  • 桂林旅游网站建设企业网站怎么做
  • 做淘宝需要知道什么网站吗足球世界排名前十
  • 独立网站商城怎么做企业网站建设需求分析
  • 电子商务网站开发总结搜索推广公司
  • 网站委托建设协议书东莞网站自动化推广
  • 做网页设计可以参考哪些网站只要做好关键词优化
  • 专门做书单的网站济南网站建设公司选济南网络
  • 开发一个b2c网站有哪些困难登封搜索引擎优化
  • 如何把自己做的网站放到网上网络优化公司排名