hibernate与Struts框架结合编写简单针对修改练习

时间:2023-03-09 18:28:24
hibernate与Struts框架结合编写简单针对修改练习

失败页面fail.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
操作失败!
</body>
</html>

  

页面列表jsp.

<%@page import="com.hanqi.entity.Student"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <% List<Student> ls=(List<Student>)request.getAttribute("Studentlist"); for(Student st:ls)
{
out.print(st+"【<a href='deleteStudent?sno="+st.getSno()
+"'>删除</a>】【<a href='updateStudent?sno="+st.getSno()+"'>修改</a>】<br>");
} %>
</body>
</html>

  hibernate与Struts框架结合编写简单针对修改练习

修改页面jsp

<%@page import="com.hanqi.entity.Student"%>
<%@page import="com.hanqi.service.StudentService"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Student st=(Student)request.getAttribute("student");
%>
修改界面
<form action="update" method="post">
学号:<input type="text" name="student.sno" value=<%=st.getSno() %> readonly="readonly">
<br><br>
年龄:<input type="text" name="student.age" value=<%=st.getAge() %>>
<br><br>
姓名:<input type="text" name="student.sname" value=<%=st.getSname() %>>
<br><br>
生日:<input type="text" name="student.birthday" value=<%=st.getBirthday() %>>
<br><br>
金额:<input type="text" name="student.money" value=<%=st.getMoney() %>>
<br><br>
<input type="submit" value="提交"> </form> </body>
</html>

Dao包

//查询单条信息
public Student query(int sno)
{
init();
Student st=(Student)se.get(Student.class, sno);
destroy();
return st;
} //修改方法
public void update(Student student)
{
init();
se.saveOrUpdate(student);
destroy(); }

service包

    //查询单条信息
public Student query(int sno)
{
return new StudentDao().query(sno);
} //修改
public void update(Student student)
{
new StudentDao().update(student);
}

Action类

package com.hanqi.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.interceptor.ServletRequestAware;

import com.hanqi.entity.Student;
import com.hanqi.service.StudentService; public class StudentAction implements ServletRequestAware { private HttpServletRequest hsr; //欲模型方式
private Student student; public Student getStudent() {
return student;
} public void setStudent(Student student) {
this.student = student;
} //查询单挑信息
public String update()
{
String rtn="fail";
try{
String sno=hsr.getParameter("sno");
Student st=new StudentService().query(Integer.parseInt(sno));
hsr.setAttribute("student", st);
rtn="ok"; }catch(Exception e)
{
e.printStackTrace();
}
return rtn;
} //修改
public String updateStudent()
{
String rtn="fail";
try{
new StudentService().update(student); rtn="ok";
}catch(Exception e)
{
e.printStackTrace();
}
return rtn;
} @Override
public void setServletRequest(HttpServletRequest arg0) { hsr=arg0;
}

Struts.xml文件

<!-- 查询单条信息 -->
<action name="updateStudent" class="com.hanqi.action.StudentAction" method="update">
<result name="ok">/WEB-INF/pages/update.jsp</result>
<result name="fail">/WEB-INF/pages/fail.jsp</result>
</action> <!-- 修改 -->
<action name="update" class="com.hanqi.action.StudentAction" method="updateStudent">
<result name="ok" type="redirectAction">selectStudent</result>
<result name="fail">/WEB-INF/pages/fail.jsp</result>
</action>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Test21</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

  hibernate.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<!-- 连接数据库 -->
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="hibernate.connection.username">test01</property>
<!-- 数据库方案 -->
<property name="hibernate.default_schema">TEST01</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<!-- 调试 -->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<!-- 自动建表方式 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 注册映射文件 -->
<mapping resource="com/hanqi/entity/Student.hbm.xml"/> </session-factory>
</hibernate-configuration>