Java+SSH+Bootstrap开发笔记_html/css_WEB-ITnose
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框架
-
新建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为

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex
