JAVA WEB学习(一) java+structs2+tomcat+eclipse+mysql配置

来源:互联网 发布:php直播间源码 编辑:程序博客网 时间:2024/06/02 00:18

前言

刚刚完成了一个简单的java web程序,在配置 的过程中遇到了很多的麻烦,下面这篇博客将详细地介绍如何在eclipse上完成struct2和tomcat的配置,并且完成一个简单的helloworld程序对该配置进行验证。
并且,欢迎纠正错误。


需要注意

本文的实验环境如下:
tomcat:9.0
struts2:2.5.2
mysql:5.7
system:ubuntu16.04
eclipse:java EE/ Version: Neon Release (4.6.0)
以上配置如果与你的配置不同,在某些细节上可能需要做出部分改变


开始

1.配置jdk

首先你需要到oracle官网上下载对应版本的jdk。我的是linux版本,需要下载linux版本,在下载完成后,在终端键入以下命令(将jdk版本改为你的)

[1] 解压缩

mkdir -p /usr/lib/jvm  mv jdk-8u101-linux-x64.tar.gz /usr/lib/jvm  cd /usr/lib/jvm  tar zxvf jdk-8u101-linux-x64.tar.gz  ln -s jdk1.8.0_11 java8  

[2] 设置环境变量

export JAVA_HOME=/usr/lib/jvm/java8  export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH  

[4] 测试,出现结果即配置完成

java -versionjavac

eclipse 下载

注意:选择java EE版本,否则不能进行

Tomcat配置

[1] 到tomcat官网下载tomcat包,这里有很多版本,我选的是9.0版本
[2] 在eclipse菜单栏选择Windows->preferences->server->Runtime Environments

开始加入tomcat

在上图中选择Add,然后选择你对应的tomcat版本

选择tomcat

选择next,然后选择tomcat的所在目录以及选择jre

这里写图片描述

点击Finish即可

创建项目

[1] 选择新建项目,注意创建Dynamic Web Project,需要在创建项目时选择你的tomcat,然后点击next继续

创建项目

在连续两次next之后到达下一界面,注意要选择初始化web.xml文件,然后点击Finish即可完成项目的创建

这里写图片描述

配置server

到eclipse下面的栏选择server,选择空白处的链接创建新的server

这里写图片描述

选择对应的tomcat版本,点击Finish即可

这里写图片描述

struts2配置

[1] 到相应的网站下载struts2包,以下这几个jar包将被使用,这几个包在struts2的lib中

struts2-core-2.5.2.jar
commons-io-2.4.jar
commons-lang3-3.4.jar
commons-logging-1.1.3.jar
commons-fileupload-1.3.2.jar
freemarker-2.3.23.jar
ognl-3.1.10.jar
log4j.jar
javassist-3.20.0-GA.jar

其中最后两个包需要注意,对于2.5.2版本没有引入可能出现差错。在新建的web项目上右键选择属性,然后选择java Build Path,在Libraries栏下将上述所有的jar包通过Add External JARs选择进来

加入struts2jar

然后选择ok即可,稍后可以讲这几个包复制到你的项目的WebContent/WEB-INF/lib下。另外可以将这几个包创建一个自己的library更加方便

配置web.xml

在这里配置struts2的过滤器,具体请参考其他资料,下面贴出了相应的web.xml文件,其中index.jsp设置为默认的项目欢迎界面。需要注意的是filter-class的值,相对于之前的版本发生了变化

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  <display-name></display-name>   <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>  <filter>    <filter-name>struts2</filter-name>    <filter-class>        org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter    </filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping></web-app>

编写网页页面

首先在WebContent文件夹右键新建index.jsp文件。创建后会发现jsp页面报错,这时右键选择这个项目的属性,在下面这个位置里将tomcat/lib的目录中的servlet-api.jar加入后点击apply即可

jsp报错解决

然后修改index.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="hello" method="get">        <input name="name" type="text" placeholder="这里输入姓名" size="22"            required />         <input type="submit" value="开始查询"/>    </form></body></html>

下面在相同的位置创建hello.jsp,这个页面将对上一个页面输入的姓名说你好

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><html><head><title>Hello World</title></head><body>   Hello World, <s:property value="name"/></body></html>

下面在src下创建struts.xml文件,该页面将页面与动作关联在一起,文件内容如下

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"><struts>    <package name="helloworld"  extends="struts-default">        <action name="hello" class="com.tutorialspoint.struts2.HelloWorldAction" method="execute">            <result name="success">/hello.jsp</result>        </action>    </package></struts> 

最后编写action,在src中创建package com.tutorialspoint.struts2,然后在这个包中创建HelloWorldAction.java文件,这个文件将会把第一个页面传入的姓名传送给第二个页面

package com.tutorialspoint.struts2;public class HelloWorldAction{   private String name;   public String execute() throws Exception {      return "success";   }   public String getName() {      return name;   }   public void setName(String name) {      this.name = name;   }}

下面运行即可
看到如下效果
这里写图片描述
点击按钮后得到结果
这里写图片描述

另外注意

如果你把jar包,放到了User Library中,且并未复制到WEB-INF/lib目录下,而是引用的User Libraries。那么程序编译没问题,但是等到启动tomcat的时候,就会报各种类找不到的错误。比如错误如下: 严重: Exception starting filter struts2。原因是:eclipse发布项目的时候并未自动将引用的jar包copy到目标位置,导致编译器找不到所使用的class。 解决方案: 设置eclipse发布项目的选项,project上点击右键,选择左侧Deployment Assembly,右侧显示的列表是项目发布目录点击Add,弹出的窗口中选择 Java Build Path Entries,点击Next:窗口中会显示你这个项目中所使用的User Libraries或者你所有的struts2的jar包,选择所有,点击Finish即可

MYSQL配置

首先到mysql官网下载mysql和下载相应的DB Driver ,在linux下可以利用命令安装

sudo apt install mysql-serversudo apt install mysql-client

但是DB Driver需要到官网下载,注意应该是connectj。首先到windows下的preferences中搜索Driver进入到Driver Definition中Add下载的DB Driver。进入如下界面

这里写图片描述
Edit jar选择刚刚下载的driver的jar

这里写图片描述
然后输入密码

这里写图片描述

ok结束最后到上图Database Connection上右键选择new,新建MySql数据库链接。默认数据库名是database,使用默认名称会报错,请改为其它名称

这里写图片描述

到这里所有的配置就基本完成了

注意,也需要将connecterj放入到工程的WebContent中的lib(或者项目右键属性中引入connecterj的jar包)目录,否则可能无法连接

1 0