转载请注明,来自shhider!

略坑的数据集成课的实验,让我们用struts框架写一个登录页面。

之前没接触过jsp,完全现学现做。捣鼓了好久,终于调通了,记录下来备忘,也帮助一下其他同学。

一、环境

JDK、Tomcat、MyEclipse

学计算机的jdk应该早装了,忽略……

Tomcat,jsp网站运行所需的服务器。建议童鞋们还是下载那个压缩包版本的,不用安装,因为一般我们都用的是MyEclipse开发,MyEclipse中直接运行会开启tomcat服务器,具体配置后面讲。Tomcat随意解压在哪里,当然你自己得知道位置;

MyEclipse,非常强大又肥大的IDE。其实eclipse也行,但是没有相关插件会比较麻烦。大家还是下载10版本的吧,我装的2013,有一些地方不太一样,有点麻烦……比如,2013版本建立web工程的时候,不要直接finish,点next到后面,要勾选一下create web.xml file,默认不自动创建,会比较麻烦。

破解的话网上有很多教程,就下载一个crack程序,按网上的流程来就行。

还有几个开发jsp必要的设置。关联JDK,菜单栏windows > preference > java > installed JREs,点击add,浏览到你安装的jdk目录,最后勾选上。关联Tomcat服务器,windows > preference > myeclipse > servers > tomcat ,点击你下载的版本(如果你下载的Tomcat8,而这里没有8的话,也可以勾选7的),选中enable,然后浏览到你的Tomcat目录。

印象中必须的应该就是上面两个,其他设置可以自己摸索一下。对了,这里工作空间不一定设置到Tomcat的目录下,随便哪里都可以,部署的时候MyEclipse会你部署过去。

二、开始建立你的工程

新建web project,新手的话其中的选项还是看一下比较好,一定要选择你电脑上的jdk、java EE版本。

导入struts框架核心文件。百度一下,到官网下载即可,就是一压缩包。这个框架使用的方式跟php完全不同,愁死我了……想我们这个简单的登录页面,需要以下几个包(解压后在lib里面):

commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
javassist-3.11.0.GA.jar(实验指导里少这个包

commons-lang3-3.1.jar(这个包也少了

Ctrl+C后,到MyEclipse里项目目录里粘贴,粘贴到web-root > web-inf > lib目录下。这样struts框架就导入到你的项目了。

三、配置web.xml

将实验指导中的代码复制,并做了修改后,我的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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>Strut2Travel</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><servlet><description>This is the description of my J2EE component</description><display-name>This is the display name of my J2EE component</display-name><servlet-name>LoginAction</servlet-name><servlet-class>LoginAction</servlet-class></servlet><servlet-mapping><servlet-name>LoginAction</servlet-name><url-pattern>/servlet/LoginAction</url-pattern></servlet-mapping>
</web-app>

这里要提的几个是, filter-class标签,根据百度,struts2.1之后的版本是不一样的,请看一下代码。另外就是注意里面的servlet-class等几个地方要跟你的类要一致,可以后面写完类后再来检查。

四、写action类

直接放上代码,里面的几个方法(execute()、getXXX()、setXXX())都是约定的,不清楚的就不要大改了。新建在src目录下

package login;   //要记住你设置的包名,配置文件需要
import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private String username;private String userpass;public String execute() {//这里帐号密码直接卸载程序里了……if ("daniel".equals(username) && "abcde".equals(userpass))return SUCCESS;elsereturn ERROR;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserpass() {return userpass;}public void setUserpass(String userpass) {this.userpass = userpass;}
}

五、添加jsp文件

登录表单页面login.jsp、登录成功页面welcome.jsp、登录失败页面error.jsp基本都没有什么讲的。

要注意的地方就是表单的提交action目的

<!-- action是struts.xml中的 (package的name)/(action的name).action --><form action="login/LoginAction.action">用户名:<input name="username"><br>密 码:<input type="password" name="userpass"><br><input type="submit" value="提 交"><input type="reset" value="取 消"></form>

六、蛋疼,配置struts.xml文件

基本上大部分的错都因为这个配置文件。

首先注意,是struts.xml,不是实验指导上的struts2.xml,应该是实验指导上的版本不一样。

新建struts.xml在src下,就是跟action一个目录,部署的时候MyEclipse会帮我们都搞定的。

我的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts><package name="login" extends="struts-default"><action name="LoginAction" class="login.LoginAction"><result name="success">/welcome.jsp</result><result name="error">/error.jsp</result></action></package>
</struts>

<?xml ... ?>必须第一行,<!DOCTYPE ...>必须第二行,下面的标签的包含层次也一定要正确。

很蛋疼的就是一样复制过来的是错的,原因是格式……把所有的空行、不必要的空格去掉,规规矩矩的按标准的格式来。

其中的具体内容。1、DOCTYPE的版本,我这里用的是2.0,我试了几个2.0版本基本上没问题,如果你2.1、2.2不行的话也改2.0吧。

2、struts包含package包含action包含result,package和action的name自己设置,login.jsp文件里就是要跟这里对应。action标签的class就是上面写的LoginAction类,按照你的LoginAction类所在包和类名。

3、result标签的name要跟LoginAction.java文件的返回值对应,之后就是对应跳转的目的。

现学现卖,如果有错误、问题的话欢迎交流

使用struts框架的简单jsp登录页面相关推荐

  1. JSP实现简单的登录页面实现及代码(非连接数据库)

    ** JSP实现简单的登录页面实现及代码(非连接数据库) ** 1.实现一个简单的登陆页面: 2.如果登陆成功,提示页面欢迎你,进入我的主页: 3.如果登陆不成功跳转到登陆页面: 4.使用固定用户名和 ...

  2. 写一个简单的登录页面!!!(html)

    写一个简单的登录页面!!! 大家好,我是伍柒. 今天我又双叒叕发现了一个好东西. 那就是用html做一个登录页面 那,该如何做呢? 首先 现在html里的body里写 一个头部header标签(双标签 ...

  3. html+css 制作简单QQ登录页面

    HTML+css制作简单QQ登录页面 这是效果图 这是HTML源码 <!DOCTYPE html> <html lang="zh"><head> ...

  4. 实现一个简单的登录页面

    实现一个简单的登录页面 设计了一个登录页面,感觉还挺不错的 实现效果 设计的还是挺好看的吧 分析需要的功能 一个登录页面一个注册页面 翻转效果 输入后的正则判断,给用户提示信息 翻转要清空页面的全部信 ...

  5. Android开发实现简单QQ登录页面

    Android开发实现极为简单的QQ登录页面 设计一个简单QQ登录页面,无任何功能.然后打包安装到手机. 1.首先创建一个空白页面 2.打开样式设计的页面 在activity_main.xml中写入代 ...

  6. PHP连接数据库实现简单的登录页面

    最后实现结果如下图所示: 如果输入的用户名或密码为空,则会弹出对话框提示 同样的,如果输入的密码不正确也会弹出对话框提示: 登录成功页面: 具体实现代码如下: HTML代码: <!DOCTYPE ...

  7. Kotlin实现简单的登录页面

    目录 一.流程: 二.代码实现: 一.流程: 输入登录昵称+密码,点击登录按钮,登录成功显示成功toast并进入详情页面,登录失败显示失败toast Kotlin实现简单的登录页面视频 Kotlin实 ...

  8. 使用struts做一个简单的登录跳转

    [java web]第一节课 3.7号作业 做一个非常简单的登录跳转界面,要求: 需要一个登陆界面用于接受用户输入的信息 输入姓名"wei"如果正确则跳转到"index. ...

  9. 用html和css语言编写一个登录页面,简单css登录页面

    CSS布局HTML小编今天和大家分享一个简单的登录界面CSS代码 登 陆 微信登陆QQ登陆 注 册 #zuo{ width: 500px; height: 540px; background: whi ...

  10. 超详细超简单的登录页面实现(MVC实现)

    一个简单的利用数据库的查找实现网页的登录.话不多说,上代码. 目录 1.项目结构 2.数据库的设计 3.pojo编写 4.数据库(BaseDao)的实现 4.编写一个接口实现查询功能 5.编写一个测试 ...

最新文章

  1. php输出报错Message: Array to string conversion
  2. pgsql中忘记密码通过如下方式解决
  3. linux 内核 struct file_operations中 ioctl 变为 unlocked_ioctl
  4. 13道Python3实例
  5. CNN的稀疏结构分析-CVPR2018
  6. spring 监听器简介
  7. mysql utf-8长度_MySQL VARCHAR长度和UTF-8?mysql
  8. 事业编还是程序员_34岁程序员月薪3万2,跳槽被国企录取,看到月收入后却犹豫了!...
  9. opc 多点位一次性读_如何使用Excel通过OPC访问WinCC的实时数据
  10. 四通滑阀非对称液压缸matlab,基于MATLAB-simulink的液压系统动态仿真PPT课件
  11. Mac电脑没声音音量图标变灰色如何修复?
  12. Vue中引用图片动态背景图片
  13. 2017年一定要关注ARM这三大技术
  14. 神级编辑器 Vim 使用-插件篇
  15. 技术贴(1):将移动硬盘名从F盘改为E盘
  16. 2022王道考研系列复习指导书更新及勘误
  17. 计算机网络基础之表示层的功能和服务
  18. 企业做定制网站建设的必要性
  19. CompareNoCase与Compare
  20. Ajax是什么?Ajax高级用法之Axios技术

热门文章

  1. Bootstrap 插件-可切换导航栏
  2. Linux服务器部署python项目
  3. java实验报告心得_Java实验报告(一)及总结
  4. 快点来学吧!Spring事务是如何传播的?快来收藏!
  5. LexYacc 编译原理课设
  6. 最火的C语言编程软件,适合编写C语言代码的编程软件有哪些
  7. matlab 2017a安装教程
  8. J2EE运动会管理系统(含源码)
  9. AT89C51的矩阵键盘、跑马灯和呼吸灯设计
  10. CNDS-Markdown之公式编辑(一)