Heim >Web-Frontend >HTML-Tutorial >Java+SSH+Bootstrap开发笔记_html/css_WEB-ITnose
( 1 )下载 JDK 对应版本,双击安装 JDK ,选择安装路径,安装完毕继续安装 JRE ,修改安装路径,安装完毕配置环境变量。计算机 → 属性 → 高级系统设置 → 高级 → 环境变量。
( 2 )系统变量 → 新建 JAVA_HOME 变量 。变量值填写 jdk 的安装目录(到安装目录查看属性复制即可,我的是 D:\Program Files\Java\jdk1.8.0_72) 。
( 3 )系统变量 → 寻找 Path 变量 → 编辑
在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来 Path 的变量值末尾有没有 ; 号,如果没有,先输入 ; 号再输入上面的代码)
( 4 )系统变量→新建 CLASSPATH 变量
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)
系统变量配置完毕。
( 5 )检验是否配置成功 运行 cmd 输入 java -version ( java 和 -version 之间有空格),若如图所示 显示版本信息 则说明安装和配置成功。
(1)下载tomcat对应版本,这里下载apache-tomcat-8.0.32-windows-x64.zip免安装版,直接解压到需要的目录即可。
(2)配置CATALINA_HOME环境变量, 计算机 → 属性 → 高级系统设置 → 高级 → 环境变量。系统变量 → 新建 CATALINA_HOME,变量值输入tomcat安装根目录,如我的是D:\Program Files\apache-tomcat-8.0.32。
(3)测试tomcat配置是否成功(依赖之前JDK环境变量配置) 进入tomcat安装目录,进入bin文件夹, 运行 cmd 窗口,拖入 startup.bat 执行命令,此时跳出 tomcat 服务器运行 dos 界面,打开浏览器,输入 http://localhost:8080/ 显示如下便是配置成功。
(1)下载myeclipse对应版本(我是myeclipse-pro-2014-GA-offline-installer-windows.exe),选择安装路径安装即可。安装完毕破解教程进行破解。
(2)打开myeclipse,选择window → preferences →Java→Installed JREs→Add→Standard VM→Next→directory 选择 JDK 安装目录,我的是 D:\Program Files\Java\jdk1.8.0_72 ,点击 finish ,选择新添加的 JDK ,点击 OK 退出,
( 3 )选择 window → preferences →MyEclipse→services→tomcat→ 选择 tomcat 版本 ( 我的是 tomcat 8.x) → 点击 Enable→browsetomcathome 目录(我的是 D:\Program Files\apache-tomcat-8.0.32 ),展开 tomcat 8.x→ 选择 JDK→ 选择刚添加的 JDK VM (我的是 jdk1.8.0_72 )
配置成功。
(1)打开myeclipse,File →New→Web Project ,输入工程名 test ,点击 finish 新建一个 web 工程。
(2)右键工程名 →Run As→ MyEclipse server application ,选择 Tomcat 8.x ,点击 OK ,将 web 工程发布到 tomcat 服务器中。
( 3 )打开浏览器,输入 http://localhost:8080/test/ ,显示如下则配置环境成功。
(1)安装数据库环境,下载合适的mysql,这里用mysql-5.6.22-winx64.msi,安装,配置(默认编码选择utf-8,兼容中文)数据库密码即可。
(2)添加连接数据库驱动,下载mysql的java的jdbc驱动程序,我用的是mysql-connector-java-5.1.34-bin.jar,运行MyEclipse打开数据库视图,如图:
对DB Browser右键,新建数据库连接驱动,选择驱动模块为mysql connector/J,输入驱动名字,连接url(注意连接编码集,我的数据库用utf-8编码,工程也是utf-8,设置为jdbc:mysql://localhost:3306/cls_anal?useUnicode=true&characterEncoding=utf-8),mysql登录名和密码,Add JARs添加jdbc库,Driver classname选择com.mysql.jdbc.Driver,选择保存密码,点击Test Driver测试通过即可点击finish完成,如图:
(3)打开mysql驱动连接到数据库中,右键新建一个数据库login,数据库字符编码选择utf-8,展开数据库,新建表userinfo,添加字段userid(主键,自动递增),username,userpass。新建一个sql视图插入一行数据到表中。
切换到工程视图(右上角 选择视图即可)。
新建web project工程,名字为login。
加入 Struts 支持,右键项目 →MyEclipse→ project facts → 选择安装 struts 1.x ,弹出界面选择下一步,点击 finish 。
加入Spring支持,右键项目 →MyEclipse→ project facts → 选择安装 Spring ,弹出界面选中下一步,然后将 applicationContext.xml 选择放在 WebRoot/WEB-INF 目录中,点击 finish 。
加入Hibernate支持,右键项目 →MyEclipse→ project facts → 选择安装 Hibernate ,弹出界面选中下一步,然后将 的勾去掉,下一步,在 DB Driver 选择之前建好的数据库驱动 mysql ,然后点击 finish 。
查看 applicationContext.xml 配置文件,确保数据库驱动配置正确(因为自动生成的一般不正确),如下所示, driverClassName (有些自动生成是不对的), url (记得加上编码集为 utf-8 ,因为我的数据库是 utf-8 的,前台转到后台的 spring 过滤器也是 utf-8 的), username , password 配置正确。
class = “org.apache.commons.dbcp.BasicDataSource” >
value = “com.mysql.jdbc.Driver” >
property >
value = “jdbc:mysql://localhost:3306/cls_anal?useUnicode=true&characterEncoding=utf-8″ >
property >
property >
property >
bean >
(5)在struts-config.xml的前加入下面配置(覆盖 message-resources ),(这里使用spring管理struts的action)。
processorClass=”org.springframework.web.struts.DelegatingRequestProcessor”>
login.struts.ApplicationResources” />
value=”/WEB-INF/applicationContext.xml” /> ( 6 )打开 web.xml 在 前加入如下代码 配置请求编码(使用 spring转换器,编码为utf-8)(这样统一使用utf-8,中文存储到数据库就不会出现乱码了) : org.springframework.web.filter.CharacterEncodingFilter 复制编译版的bootstrap整个文件夹到工程WebRoot下,如图: 在WebRoot新建login.jsp文件。使用bootstrap登录组件,login.jsp代码如下: page language=”java” import=”java.util.*” pageEncoding=”utf-8″ %> String path = request.getContextPath (); String basePath = request.getScheme ()+ “://” + request.getServerName ()+ “:” + request.getServerPort ()+ path + “/” ; %> “en” > Bootstrap设计登录页面
“utf-8″ >
“X-UA-Compatible” content = “IE=edge” >
“viewport” content = “width=device-width, initial-scale=1″ >
“description” content = “ 登录界面 “ >
“author” content = “jly” >
“icon” href = “../../favicon.ico” >
“bootstrap/css/bootstrap.min.css” rel = “stylesheet” >
“css/signin.css” rel = “stylesheet” >
在WebRoot下新建文件夹css,在文件夹css下新建login.css样式文件,文件内容如下:
body {
padding-top : 40px;
padding-bottom : 40px;
background-color : #eee;
}
. form-signin {
max-width : 330px;
padding : 15px;
margin : 0 auto;
}
. form-signin . form-signin-heading ,
. form-signin . checkbox {
margin-bottom : 10px;
}
. form-signin . checkbox {
font-weight : normal;
}
. form-signin . form-control {
position : relative;
height : auto;
-webkit-box-sizing : border-box;
-moz-box-sizing : border-box;
box-sizing : border-box;
padding : 10px;
font-size : 16px;
}
. form-signin . form-control : focus {
z-index : 2;
}
. form-signin input [ type=”email” ] {
margin-bottom : -1px;
border-bottom-right-radius : 0;
border-bottom-left-radius : 0;
}
. form-signin input [ type=”password” ] {
margin-bottom : 10px;
border-top-left-radius : 0;
border-top-right-radius : 0;
}
运行login工程到服务器上,在浏览器输入 http://localhost:8080/login/login.jsp ,显示如下:
在工程文件夹src下新建包 com.pojo(实体层) 和 com.dao(持久层),切换到MyEclipse Database Explorer视图打开login数据库的userinfo表,右键选择Hibernate reverse engineering弹出界面,src文件夹选择login/src,包选择com.pojo,选择需要生成的项,点击下一步将id generator设置为native(根据数据库决定是什么就是什么,一般自动编号可以选择native,如果主键是自己确定则选择assigned),点击finish,如图所示:
将生成的UserinfoDao.java拖入com.dao包中,如图:
新建 com.service包,包下新建类UserinfoService.java封装持久化操作,代码如下:
package com . service ;
com . pojo . Userinfo ;
import com . dao . UserinfoDAO ;
public class UserinfoService {
// 依赖注入 UserinfoDAO 要设置 spring 配置文件 applicationContext.xml
private UserinfoDAO userinfoDAO ;
public UserinfoDAO getUserinfoDAO () {
return userinfoDAO ;
}
public void setUserinfoDAO ( UserinfoDAO userinfoDAO ) {
this . userinfoDAO = userinfoDAO ;
}
// 判断登录
public boolean Login ( Userinfo user )
{
if ( userinfoDAO .findByExample(user).size()>0)
return true ;
return false ;
}
}
新建 action和actionForm,右键->New->Other->MyEclipse->Web Struts 1.x->Struts Form,Action&Jsp->Next弹出界面配置Form,输入Use case为userinfo,添加Form Properties,添加用户名username,用户密码userpass(实例属性,对应视图层表单的name,这里对应登录界面jsp表单的用户名和用户密码,这样客户端才能通过struts实例化这个formbean),如图:
点击下一步,配置Action,superclass继承选择org.apache.struts.actions.DispatchAction(即一个action可以对应很多方法动作);input source选择login.jsp(提交表单数据的页面);选择parameter选项,设置参数为method(这里随意,到时调用action的某个函数动作要由它指定);选择Forward选项,点击添加几个Forwards(用于表单提交动作之后逻辑处理后可以进行相关的跳转),然后点击finish即可,如图:
此时生成了Action和Form类,Form作为视图层实例化的Bean,变量需要对应视图层输入jsp的表单元素的属性名与ID,Action作为动作反应,是逻辑处理层对视图层的submit逻辑处理。
对生成的UserinfoAction.java修改逻辑处理(覆盖 execute 函数 增加 Loginexecute 函数 ),修改后代码如下:
package com . struts ;
import javax . servlet . http . HttpServletRequest ;
import javax . servlet . http . HttpServletResponse ;
import org . apache . struts . action . Action ;
import org . apache . struts . action . ActionForm ;
import org . apache . struts . action . ActionForward ;
import org . apache . struts . action . ActionMapping ;
import com . service . UserinfoService ;
import com . pojo . Userinfo ;
//DispatchAction 允许同一个 action 多个函数用于动作反应
public class UserinfoAction extends DispatchAction {
依赖注入 UserinfoService 要设置 spring 配置文件 applicationContext.xml
private UserinfoService userinfoService ;
public UserinfoService getUserinfoService () {
return userinfoService ;
}
public void setUserinfoService ( UserinfoService userinfoService ) {
this . userinfoService = userinfoService ;
}
public ActionForward Loginexecute ( ActionMapping mapping , ActionForm form ,
HttpServletRequest request , HttpServletResponse response ) {
UserinfoActionForm userinfoActionForm = ( UserinfoActionForm ) form ; // TODO Auto-generated method stub
Userinfo user = new Userinfo ();
user . setUsername ( userinfoActionForm . getUsername ());
user . setUserpass ( userinfoActionForm . getUserpass ());
// 如果用户名和密码输入正确登录成功
if ( userinfoService . Login ( user ))
{
return mapping . findForward ( “success” );
}
else
{
return mapping . findForward ( “error” );
}
}
}
由于 UserinfoAction.java 和 UserinfoService.java 采用了 spring 相关依赖注入技术,因此在 spring 配置文件 applicationContext.xml 的 前加入下面配置。
依赖注入 –>
这里标红那里要对应 struts-config.xml相应的action的path=”/userinfo”,此为action的名字,视图层可以调用这个动作,并struts通过spring来进行执行(这里使用spring管理struts的action)。
修改视图层的login.jsp将用户名和密码输入表单的id和name设置映射为对应UserinfoForm的变量名。
修改form表单action为