package org.example.web; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.example.mapper.customerMapper; import org.example.pojo.customerPojo; import org.example.service.customerService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; @WebServlet("/loginServlet") public class loginServlet extends HttpServlet { private customerService service = new customerService(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.接受用户名的密码 String c_username = request.getParameter("c_username"); String c_password = request.getParameter("c_password"); customerPojo customer = service.login(c_username, c_password); //避免出现乱码,设置字符输入流的编码,设置的字符集要和页面保持一致 response.setContentType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); //7.判断user释放为null if (customer != null){ HttpSession session = request.getSession(); session.setAttribute("customer",customer); session.setAttribute("c_username",c_username); String contextPath = request.getContextPath(); response.sendRedirect("/花店.html"); }else { //登陆失败 writer.write("<script>window.alert('用户名或者密码错误')</script>"); writer.write("<script>window.location.href='login.jsp'</script>"); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //在dopost()里面调用doget()方法 //不管发过来是什么请求,最后都转向do() this.doGet(request, response); } }
时间: 2024-04-25 11:26:31 浏览: 12
这是一个使用 MyBatis 框架开发的 Java Web 应用程序的登录 Servlet,它通过接收前端传来的用户名和密码,调用 customerService 的 login 方法进行用户验证,如果验证成功,则将用户信息存入 HttpSession,跳转到花店页面;如果验证失败,则弹出一个提示框,重定向到登录页面。其中,使用了注解 @WebServlet("/loginServlet") 标记为 Servlet,并且使用了 try-with-resources 语句来确保 InputStream 和 PrintWriter 能够正确关闭。
相关问题
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSession; 这段代码的作用是导入 MyBatis 框架的 SqlSession 类。SqlSession 是 MyBatis 中用于执行 SQL 语句并管理事务的核心类之一。通过 SqlSession,我们可以使用 MyBatis 提供的 API 进行数据库的增删改查操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [zkxbatis:分析mybatis源码,实现自定义简化的mybatis复现](https://download.csdn.net/download/weixin_42174098/19100567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [SpringBoot项目多数据源配置](https://blog.csdn.net/Ai_Ting_Java/article/details/113246280)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
org.apache.ibatis.session.SqlSession的使用
org.apache.ibatis.session.SqlSession是MyBatis框架中的一个核心接口,用于执行SQL语句和管理数据库连接。它提供了一系列方法来操作数据库,包括查询、插入、更新和删除等操作。
以下是org.apache.ibatis.session.SqlSession的使用示例:
1. 创建SqlSessionFactory对象:
```java
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
```
2. 打开SqlSession:
```java
SqlSession sqlSession = sqlSessionFactory.openSession();
```
3. 执行SQL语句:
```java
// 查询单个对象
User user = sqlSession.selectOne("com.example.mapper.UserMapper.getUserById", 1);
// 查询多个对象
List<User> userList = sqlSession.selectList("com.example.mapper.UserMapper.getAllUsers");
// 插入数据
User newUser = new User("John", 25);
sqlSession.insert("com.example.mapper.UserMapper.insertUser", newUser);
// 更新数据
User updateUser = new User(1, "Tom", 30);
sqlSession.update("com.example.mapper.UserMapper.updateUser", updateUser);
// 删除数据
sqlSession.delete("com.example.mapper.UserMapper.deleteUser", 1);
```
4. 提交事务和关闭SqlSession:
```java
sqlSession.commit(); // 提交事务
sqlSession.close(); // 关闭SqlSession
```
通过以上步骤,我们可以使用org.apache.ibatis.session.SqlSession来执行各种数据库操作。