用idea创建web项目,servlet response 等出错的原因(jsp中内置对象方法无法被解析的解决办法)

第一次用idea创建web项目,发现response的语句出错,原因是内置对象无法解析,需要导入servlet-api.jar,jsp-api.jar,tomcat-api.jar 三个jar包


引用以下的笔记内容

http://fromwiz.com/share/s/3cTmX51TMQ-b2QTact03UPg83fcQDi2jaQfp2TtvRA0X5oGy


IntelliJ IDEA的jsp中内置对象方法无法被解析的解决办法

主要原因是因为缺乏依赖

可以通过添加依赖的方式
导入servlet-api.jar,jsp-api.jar, tomcat-api.jar 这三个jar即可
这三个jar在tomcat的lib目录下有

maven管理方式可以通过添加以下依赖来解决
     
     
  1. <!--j2ee相关包 servlet、jsp、jstl-->
  2. <dependency>
  3. <groupId>javax.servlet</groupId>
  4. <artifactId>javax.servlet-api</artifactId>
  5. <version>3.1.0</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>javax.servlet.jsp</groupId>
  9. <artifactId>jsp-api</artifactId>
  10. <version>2.2</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>javax.servlet</groupId>
  14. <artifactId>jstl</artifactId>
  15. <version>1.2</version>
  16. </dependency>




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在IDEA创建一个Web项目,并添加Tomcat服务器。 接下来,你需要创建一个JSP页面来实现用户注册和登录的界面,例如: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户登录</title> </head> <body> <h1>用户登录</h1> <form action="login" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> <hr> <h1>用户注册</h1> <form action="register" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> 确认密码:<input type="password" name="password2"><br> <input type="submit" value="注册"> </form> </body> </html> ``` 然后,你需要创建一个Servlet来处理用户的注册和登录请求。在Servlet,你需要连接MySQL数据库,并编写相应的SQL语句来实现用户信息的查询、插入和更新操作。 例如,在doPost方法,你可以编写以下代码: ```java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getServletPath(); switch (action) { case "/login": String username = request.getParameter("username"); String password = request.getParameter("password"); boolean success = checkUser(username, password); if (success) { response.sendRedirect("welcome.jsp"); } else { response.sendRedirect("login.jsp"); } break; case "/register": String username2 = request.getParameter("username"); String password2 = request.getParameter("password"); String password3 = request.getParameter("password2"); if (!password2.equals(password3)) { response.sendRedirect("register.jsp"); } else { boolean success2 = addUser(username2, password2); if (success2) { response.sendRedirect("login.jsp"); } else { response.sendRedirect("register.jsp"); } } break; default: response.sendRedirect("login.jsp"); break; } } private boolean checkUser(String username, String password) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; boolean success = false; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"; conn = DriverManager.getConnection(url, "root", "123456"); String sql = "select * from users where username=? and password=?"; ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); rs = ps.executeQuery(); if (rs.next()) { success = true; } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return success; } private boolean addUser(String username, String password) { Connection conn = null; PreparedStatement ps = null; boolean success = false; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"; conn = DriverManager.getConnection(url, "root", "123456"); String sql = "insert into users(username,password) values(?,?)"; ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); int rows = ps.executeUpdate(); if (rows > 0) { success = true; } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return success; } ``` 在以上代码,checkUser方法用于检查用户的登录信息是否正确,如果正确,则重定向到欢迎页面;否则,则重定向到登录页面。addUser方法用于向数据库插入新用户的信息,如果插入成功,则重定向到登录页面;否则,则重定向到注册页面。 最后,你需要配置web.xml文件,将ServletJSP页面进行映射,例如: ```xml <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.example.LoginServlet</servlet-class> </servlet> <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>com.example.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/register</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>welcome.jsp</welcome-file> </welcome-file-list> ``` 这样,你就可以在IDEA实现JSP+Servlet + JDBC+MySQL 注册和登录的功能了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值