jsp学习日记(一)javabean的使用和JavaBean+servlet的mvc

   jsp的运行机制比.net的webform的架构方便多了,只要配置了java sdk和tomcat,在jsp内嵌代码就能运行。这个跟以前的asp有点类似。

后来,为了重用逻辑代码部分,外加内嵌页面java代码太多,不好管理,于是出现了jsp+javabean的两层架构。就是把逻辑代码部分提取出来,放在class里面,然后在jsp页面调用class;calss功能有点类似于webform的后台处理代码,但是本质上是完全不同的;webform的后台代码是可以直接控制aspx页面的服务器控件,而JavaBean是传输数据,或兼并处理数据,然后在jsp显示,jsp+JavaBean模式的两层分工很明确。

定义JavaBean:

package javaweb;

public class javabean {
	private String username;
	private String password;
	public void setUsername(String username)
	{
	this.username=username;
	}
	public void setPassword(String password)
	{
	this.password=password;
	}
	public String getUsername()
	{
	return username;
	}
	public String getPassword()
	{
	return password;
	}
}
构建login.jsp和welcom.jsp:
login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<center>
<form method=post action="wellcom.jsp">
username<input type=text name=username>
<br><br>
password<input type=password name=password>
<br><br>
<input type=submit value="注册">
</form>
</center>
</html>
welcom.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<jsp:useBean id="hello" class="javaweb.javabean" scope="session" />
<jsp:setProperty name="hello" property="*" />
<%
//hello.username = "myname";
%>
your username is:<%= hello.getUsername() %>
<br><br>
your password is:<jsp:getProperty name="hello" property="password"/>
<br><br>

</html>

jsp + javaBean + servlet (俗称的mvc结构)

   之前的JavaBean就是分两层,现在加个servlet就分三层。servlet有点像asp.net mvc框架的路由功能,也就是页面控制台,负责控制页面传值和传输。上面的代码不变,加多一个servlet:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.huanlin.UserInfoBean;

public class HelloServlet2 extends HttpServlet {
    public void service(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {

        
        response.setContentType("text/html; charset=GBK");
        request.setCharacterEncoding("GBK");

        //创建JavaBean的对象
        javabean bean = new javabean();
        bean.setUserName( request.getParameter("username").toStrng());
        HttpSession session = request.getSession();
        session.setAttribute("userInfo", userInfo);

        // 前往指定的网页
       response.sendRedirect("welcom.jsp")
    }
}

当然还要设置WEB-INF下面的web.xml设置路由了:

<servlet>
        <servlet-name>
            login
        </servlet-name>
        <servlet-class>
            javaweb.javabean
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login.do</url-pattern>
    </servlet-mapping>
然后修改login.jsp 标签form的action=”/login.do”
这样一个简单的mvc就实现了
posted @ 2011-01-13 08:25  dodohua  阅读(6054)  评论(0编辑  收藏  举报