jsp servlet javabean 实现MVC 奇怪问题.苦恼了许久:有知道问题原因的大虾帮帮忙!
主要原因:Jsp页面读不出从servlet中传过去的JavaBean的值
异常:
org.apache.jasper.JasperException: Cannot find any information on property 'mId' in a bean of type 'beans.Manager'
JavaBean: Manager(mId,mName,mPassword)
servlet代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
String url = "jdbc:mysql://localhost:3306/db_xbsk";
String username = "root";
String password = "";
String sql = "select * from manager";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url,username,password);
st = conn.createStatement();
rs = st.executeQuery(sql);
Manager m = new Manager();
while(rs.next()){
m.setMId(rs.getInt("m_id"));
System.out.println("============到这了===========!");
m.setMName(rs.getString("m_name"));
m.setMPassword(rs.getString("m_password"));
System.out.println("============ID!"+m.getMId());
System.out.println("============Name!"+m.getMName());
System.out.println("============Password!"+ m.getMPassword());
HttpSession session = request.getSession();
session.setAttribute("mm", m);
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/display.jsp");
requestDispatcher.forward(request, response);
}
}catch (Exception e){
System.out.println(e.getMessage());
}
finally{
System.out.println("============资源释放!");
if(conn != null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}
if(st != null){try {st.close();} catch (SQLException e) {e.printStackTrace();}}
if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}
}
}
前台Jsp代码:
<body>
<jsp:useBean id="mm" type="beans.Manager" scope="session" />
<jsp:getProperty name="mm" property="mId"/>
<jsp:getProperty name="mm" property="mName"/>
<jsp:getProperty name="mm" property="mPassword"/>
</body>