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>

  

修改页面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>

  

posted @ 2016-11-17 11:09  熊猫卡洛斯  阅读(313)  评论(0编辑  收藏  举报