Home >Web Front-end >HTML Tutorial >Java+SSH+Bootstrap开发笔记_html/css_WEB-ITnose

Java+SSH+Bootstrap开发笔记_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-21 08:54:011410browse

JDK+Tomcat+ MyEclipse开发环境搭建

JDK下载安装

( 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 之间有空格),若如图所示 显示版本信息 则说明安装和配置成功。

Tomcat下载安装

(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/ 显示如下便是配置成功。

MyEclipse下载安装并配置

(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 )

配置成功。

web测试环境

(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/ ,显示如下则配置环境成功。

登录实例(SSH框架+bootstrap 3)

数据库准备(选择mysql)

(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视图插入一行数据到表中。

切换到工程视图(右上角 选择视图即可)。

MyEclipse配置SSH框架

  1. 新建web project工程,名字为login。

  1. 加入 Struts 支持,右键项目 →MyEclipse→ project facts → 选择安装 struts 1.x ,弹出界面选择下一步,点击 finish 。

  1. 加入Spring支持,右键项目 →MyEclipse→ project facts → 选择安装 Spring ,弹出界面选中下一步,然后将 applicationContext.xml 选择放在 WebRoot/WEB-INF 目录中,点击 finish 。

  1. 加入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,中文存储到数据库就不会出现乱码了) :

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

encodingFilter

/*

Bootstrap设计登录页面

  1. 复制编译版的bootstrap整个文件夹到工程WebRoot下,如图:

  1. 在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” >

“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” >

<strong>登录界面</strong>

“bootstrap/css/bootstrap.min.css” rel = “stylesheet” >

“css/signin.css” rel = “stylesheet” >

“container” >

“form-signin” >

“form-signin-heading” > 用户登录

“text” id = “inputUser” class = “form-control” placeholder = 用户名 required autofocus >

“password” id = “inputPassword” class = “form-control” placeholder = 密码 required >

“checkbox” >

“checkbox” value = “remember-me” > 记住我

  1. 在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;

}

  1. 运行login工程到服务器上,在浏览器输入 http://localhost:8080/login/login.jsp ,显示如下:

完成登录验证逻辑功能

  1. 在工程文件夹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包中,如图:

  1. 新建 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 ;

}

}

  1. 新建 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” );

}

}

}

  1. 由于 UserinfoAction.java 和 UserinfoService.java 采用了 spring 相关依赖注入技术,因此在 spring 配置文件 applicationContext.xml 的 前加入下面配置。

依赖注入 –>

这里标红那里要对应 struts-config.xml相应的action的path=”/userinfo”,此为action的名字,视图层可以调用这个动作,并struts通过spring来进行执行(这里使用spring管理struts的action)。

  1. 修改视图层的login.jsp将用户名和密码输入表单的id和name设置映射为对应UserinfoForm的变量名。

修改form表单action为

  1. 工程部署到服务器上,打开浏览器,输入 http://localhost:8080/login/login.jsp ,进行测试,输入正确用户密码时:

登录实例(SSH框架+bootstrap 3+DWR+AJAX)

DWR环境准备

(1)下载dwr环境包,这里用dwr3.x.jar,将dwr.jar复制到前面工程的WebRoot/WEB-INF/lib下。

(2)配置 web.xml 文件。在 web.xml 的前 加 入如下代码,进行 DWR 框架配置。

dwr-invoker org.directwebremoting.servlet.DwrServlet debug true

dwr-invoker /dwr/*

(3)在web.xml同目录下新建dwr.xml(根据dwr1.x 2.x还是3.x配置)文件。配置如下:

-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN”

“http://www.getahead.ltd.uk/dwr/dwr20.dtd”>

DWR实例测试

  1. 在UserinfoAction.java类中添加函数如下:

/ / 通过传入的用户密码判断登录 返回信息

public String signin(String username,String userpass)

{

String mess= “error” ;

Userinfo user= new Userinfo(username,userpass);

System. out .println( “55″ );

if ( userinfoService .Login(user))

mess= “success” ;

return mess;

}

  1. 配置dwr.xml文件。将 signin 方法配置到dwr.xml中,使其可以访问。

xml version=”1.0″ encoding=”UTF-8″?>

-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN”

“http://www.getahead.ltd.uk/dwr/dwr20.dtd”>

  1. 在前台视图login.jsp文件的

    标签之间加入下面:

script >

script >

script >

其次,编写登陆按钮的提交事件,事件名称是onValidation();具体实现代码如下(

标签之间):

    function onValidation()

{

signin.signin(document.getElementById( “username” ).value,document.getElementById( “userpass” ).value,signinCallback);

}

function signinCallback(data){

if (data== “error” ) alert( “ 用户或密码错误 “ );

else if (data== “success” ) window.location.href= “success.jsp” ;

}

script >

将登录按钮添加onclick属性为 onClick=”onValidation()”,type 属性改为 type=”button” 。

(4) 运行工程,打开浏览器,输入用户密码验证:

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn