利用hibernate与struts框架制作简单注册界面

一:配置hibernate
1.导包 hibernate包和jdbc连接mysql数据库的包
2.实用工具生成hibernate配置文件和映射文件
3.做好hibernateUtil生成session的静态单例配置文件
二:编写数据访问
package com.dao; import java.util.List; import org.hibernate.Session; import com.model.HibernateUtil;
import com.model.Login; public class LoginDao {
Session session = null;
public LoginDao(){
session =HibernateUtil.getSession();
}
public List<Login> select(String name){
List<Login> list = null;
try{
list = session.createQuery("from Login where UserName = ?")
.setParameter(0, name)
.getResultList();
}
catch(Exception e){
e.getStackTrace();
}
finally{
HibernateUtil.closeSession();
}
return list;
}
public void add(Login l){
try{
session.beginTransaction();
session.save(l);
session.getTransaction().commit();
}
catch(Exception e){
e.getStackTrace();
session.getTransaction().rollback();
}
finally{
HibernateUtil.closeSession();
}
}
}
三:配置struts

在apps文件夹下将struts-blank.war复制粘贴将后缀改为rar格式,解压到这个目录下,这样就生成了一个空白的项目,这里边的WEB-INF文件下lib里边的jar包就是我们struts所需要必须的jar包,另外如果需要用jstl标签,就把jstl的jar包也导入我们项目的WEB-INF文件下的lib中
2.配置web.xml()
这里的web.xml一样是刚刚生成的空白项目中的WEB-INF文件下的空白web.xml文件,复制粘贴到项目中,将我们不需要用的删除即可,只留下我们需要的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</display-name> <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> <welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list> </web-app>
四、做界面
reg.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>
<form action="reg" method="post">
账号:<input type="text" name="username" ><br>
昵称:<input type="text" name="name"><br>
密码:<input type="password" name="password" ><br>
金额:<input type="text" name="account">
<input type="submit" value="提交">
</form>
<form action="ttt">
123123
<input type="submit" value="提交">
</form>
</body>
</html>
index_add.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>
<form action="Index_insert" method="post">
账号:<input type="text" name="username" ><br>
昵称:<input type="text" name="name"><br>
密码:<input type="password" name="password" ><br>
金额:<input type="text" name="account">
<input type="submit" value="提交">
</form>
</body>
</html>
配置IndexAction.java文件
package com.controller; import java.math.BigDecimal;
import java.util.List; import com.dao.LoginDao;
import com.model.Login;
import com.opensymphony.xwork2.ActionSupport; public class IndexAction extends ActionSupport {
private String username;
private String name;
private String password;
private BigDecimal account; public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public BigDecimal getAccount() {
return account;
}
public void setAccount(BigDecimal account) {
this.account = account;
}
public String add(){
return SUCCESS;
}
public String insert(){
return SUCCESS;
}
@Override
public String execute() throws Exception { List<Login> list=new LoginDao().select(username);
if(list.size()==0){
Login l = new Login();
l.setUserName(username);
l.setName(name);
l.setPassword(password);
l.setAccount(account);
new LoginDao().add(l);
return SUCCESS;
}
else{
return ERROR;
} }
}
配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="reg" class="com.controller.IndexAction">//直接在地址栏运行reg.jsp,然后跳转reg到IndexAction下的execute方法,成功走reg_ok.jsp
<result name="success">
reg_ok.jsp
</result>
<result name="error">
reg_error.jsp
</result>
</action> <!--
<action name="Index_add" class="com.controller.IndexAction" method="add">//直接在IndexAction中写入add与insert方法,地址栏直接输入Index_add跳转到add界面
在Index_add.jsp中提交到Index_insert,然后走下面的方法来实现功能
<result>
Index_add.jsp
</result>
</action>
<action name="Index_insert" class="com.controller.IndexAction" method="insert">
<result>
Index_insert.jsp
</result>
</action> <action name="*_*" class="com.controller.{1}Action" method="{2}">//这个方法是最简单的,前面的*代表上文所写的Index,后面的代表在IndexAction中缩所写的跳转的方法
可以免去上文那么麻烦的写法,只写一个action即可解决所有问题,
<result>
{1}_{2}.jsp
</result>
</action>
-->
</package> </struts>
运行起来输入action中的*_*的地址即可显示出来。
利用hibernate与struts框架制作简单注册界面的更多相关文章
- 实践练习_使用HTML标签制作一个注册界面03
使用HTML标签制作一个注册界面▲▲▲▲★1) 注册界面需要有用户名.密码.性别(单选).爱好(多选).专业(下拉列表)2) 注册界面需要有隐藏域和文件域3) 注册界面需要有提交和重置按钮4) 将上述 ...
- hibernate与struts框架实现增删改查
这里配置hibernate与struts不再过多赘述,配置搭建前文已经详细讲解,配置如下: hibernate.hbm.xml配置: <?xml version="1.0" ...
- hibernate与Struts框架结合编写简单针对修改练习
失败页面fail.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计
Spring的事务实现采用基于AOP的拦截器来实现,如果没有在事务配置的时候注明回滚的checked exception,那么只有在发生了unchecked exception的时候,才会进行事务回滚 ...
- Eclipse通过jdbc连接数据库制作简单登陆界面
一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...
- 🈲Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】
一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...
- 用asp连接Access数据库 制作简单登陆界面
[题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情... ...
- JSP制作简单登陆
JSP制作简单登陆界面 运行环境 eclipse+tomcat+MySQL 不知道的可以参考Jsp运行环境--Tomcat 项目列表 这里我先把jsp文件先放在Web-INF外面访问 需要建立的几个文 ...
- 【SSH三大框架】Hibernate基础第五篇:利用Hibernate完毕简单的CRUD操作
这里利用Hibernate操作数据库完毕简单的CRUD操作. 首先,我们须要先写一个javabean: package cn.itcast.domain; import java.util.Date; ...
随机推荐
- DA层(数据访问层)的方法不用静态的
1.静态方法,不会经过构造函数,所以你不能通过构造函数来初始参数,你只能通过传递参数,来初始他当你有多种参数需要传递的时候,你就要不断重载他了.当然你可以用参数型的类型,不过如果参数有一定结构,就很麻 ...
- JavaScript_6_函数
函数是由事件驱动的或者当它被调用执行的可重复使用的代码块 调用带参数的函数 带有返回值的函数 <!DOCTYPE html> <html> <head> <t ...
- Android(java)学习笔记118:BroadcastReceiver之 外拨电话的广播接收者
1. 外拨电话的广播接收者: 首先我们示例工程一览表如下: (2)首先我们还是买一个收音机,定义一个OutCallReceiver继承自BroadcastReceiver,onReceive()方法中 ...
- Processing分形之一——Wallpaper
之前用C语言实现过一些分形,但是代码比较复杂.而对于天生对绘图友好的Processing,及其方便. 在大自然中分形普遍存在,我们用图形模拟,主要是找到一个贴近的函数. 代码 /** * Wallpa ...
- 怎么在WEBSTORM中设置代码模板 Live Templates
怎么在WEBSTORM中设置代码模板 Live Templates setting 里面 https://www.cnblogs.com/xinzaimengzai/p/9938464.html
- 常用的CSS居中方式
1.水平居中margin 0 auto;(浮动元素除外) 这个属性在网页制作的过程中是经常被用到的,一般情况下页面的版心你就可以看到它. <style> .father { width: ...
- 常用的ement语法
缩写语法: 介绍:Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 声明:第一次写博客大家多多关照,如有错误或者需要补充的请到评论里留言,谢谢大家! 快速生成htm ...
- oc 数据类型转换
NSNumber转NSString: 假设现有一NSNumber的变量A,要转换成NSString类型的B 方法如下: NSNumberFormatter* numberFormatter = [[N ...
- 【树形dp】bzoj4726: [POI2017]Sabota?
找点概率期望的题做一做 Description 某个公司有n个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者间接, 不包括他自己)中叛徒占 ...
- 【php】 phpword下载文件问题
这个问题是在 科锐国际 工作过程中发现的 word文档的名字(有汉字和空格)在windows系统上遍历是查不到文件的,但是在linux系统上市可以的压缩包里面的中文名word文档,如果出现汉字和空格, ...