JSP开发入门(三)----JSP与JavaBean

虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的Java程序代码是属于可以重复使用的组件,称为JavaBean。JavaBean就跟ActiveX控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的。

  JavaBean的价值在于它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取。以人来作范例,此人就是JavaBean,而他的姓名,社会福利安全号码,以及住址可以是特性。对于JSP网站,基本上你是将'JavaBean'动态的连接到你的网站。

  假设JavaBean是在建立网站之前建好的,你要做的第一件事是告诉JSP网页它所需要使用JavaBean.这工作可以用<jsp:useBean>卷标来完成:<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.

  <jsp:useBean>卷标需要你以id 属性来辨识豆子.在这里,你提供一个名称让JSP网页来辨识豆子,除了id 属性之外,你也必须告诉网页要到哪里去找这个豆子,或者是它的Java类别名称。类别属性提供如何在各式方法之中找到它,最后一个需要的组件是scope 属性.有了范围属性的帮助,你可以告诉豆子,要它为单一网页(预设)[scope="page"];为一个被请求的网页[scope="request"];为通话期[scope="session"];或为整个应用程序[scope="application"]来维护它自己的信息.对于通话期范围,你可以很容易的维护JSP网页里的项目,例如购物车。

  一但你宣告了JavaBean之后,你就可以存取它的特性来订定它。要取得一特性的值,使用<jsp:getProperty>卷标。有了<jsp:getProperty>卷标,你可以指定要使用的豆子名称(从useBean的id字段),以及你要取得值的特性。接着,真正的值就会放在输出里:<jsp:getProperty id="localName" property="name" />.

  要更改JavaBean的特性,你需要使用<jsp:setProperty>卷标.对这个卷标,你也需要辨认豆子以及要修正的特性,除此之外,你还需要提供新值.如果命名正确,这些可以直接经由规定的格式取得:<jsp:setProperty id="localName" property="*" />; 

  要从一参数取得,你必须直接命名此特性以及参数: <jsp:setProperty id="localName" property="address" param="parameterName" />; 

  或是直接以名称与值来设定: <jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.

  有关JavaBean的最后一点:要让网络服务器可以找到JavaBean,你需要将它们的类别档案放在特别位置。对JSWDK而言,最简单的地方是在安装目录里的类别目录,例如 /jswdk-1.0.1/classes.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个简单的 MVC 登录实例,使用 JSPJavaBean 和 Servlet 实现用户登录验证: 1. 创建一个名为 User 的 JavaBean,包含用户的 id 和 password 属性,以及相应的 getter 和 setter 方法。 ```java public class User { private String id; private String password; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ``` 2. 创建一个名为 LoginServlet 的 Servlet,处理用户登录请求。在 doPost() 方法中,从请求参数中获取用户输入的 id 和 password,然后调用一个名为 validate() 的方法来验证用户信息。validate() 方法将根据用户输入的 id 和 password 查询数据库,如果查询结果不为空,则表示用户信息验证成功,将用户信息存储到 session 中,并跳转到登录成功页面;否则,跳转回登录页面,并显示错误消息。 ```java public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); String password = request.getParameter("password"); User user = new User(); user.setId(id); user.setPassword(password); if (validate(user)) { HttpSession session = request.getSession(); session.setAttribute("user", user); response.sendRedirect("success.jsp"); } else { request.setAttribute("error", "Invalid id or password"); RequestDispatcher rd = request.getRequestDispatcher("login.jsp"); rd.forward(request, response); } } private boolean validate(User user) { String url = "jdbc:mysql://localhost:3306/mydb"; String username = "root"; String password = "root"; try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, username, password); PreparedStatement ps = con.prepareStatement("select * from users where id=? and password=?"); ps.setString(1, user.getId()); ps.setString(2, user.getPassword()); ResultSet rs = ps.executeQuery(); if (rs.next()) { return true; } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return false; } } ``` 3. 创建一个名为 login.jspJSP 页面,显示登录表单。如果用户输入了错误的 id 或 password,则显示错误消息。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Page</title> </head> <body> <form action="LoginServlet" method="post"> <input type="text" name="id" placeholder="id"><br> <input type="password" name="password" placeholder="password"><br> <input type="submit" value="Login"> </form> <br> <c:if test="${not empty error}"> <font color="red">${error}</font> </c:if> </body> </html> ``` 4. 创建一个名为 success.jspJSP 页面,显示登录成功页面。在页面中,通过 session 获取用户信息,并显示欢迎消息。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Success</title> </head> <body> <h1>Welcome, ${user.id}!</h1> </body> </html> ``` 以上就是一个简单的 MVC 登录实例的实现过程。需要注意的是,这只是一个入门级别的示例,实际开发中需要进行更多的安全性和可用性的考虑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

e_lion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值