Java Hour 18 来个CURD吧 (三)

有句名言,叫做10000小时成为某一个领域的专家。姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧。

本文作者Java 现经验约为18 Hour,请各位不吝赐教。

依赖Jar 包管理

刚接触J2EE 相关的东西,第一感觉就是Jar 包的依赖太多了,每次一个一个的报错,然后一个个的加,太过于悲剧。

Marven 就应运而生了。

image

先随便加上struts 的依赖,剩下的事情就交给maven 吧。当然这个玩意儿最好在网络条件比较好的地方用,我在公司用代理的情况下,maven 挂掉的情况极多。

查看Maven Dependencies 目录,基本引入了不少jar 包,想当年哥可是一个一个加的,直接加到吐血为止。

image 

struts

注意struts 这个东西的拼写,我第一次由于拼写错误老是找不到配置文件- -。

这个东东在这里实现了ASP.NET MVC 中MVC 模块的功能,当然可以用Srping MVC 之类的代替,作为只有18个Hour 经验的小菜,还是先学会这个吧。

struts 包含一套标签库,可以简化开发。

当然似乎也包含一些model 的验证功能,能输出自定义error message.

顺便还囊括了多语言资源文件的支持。

由于示例是按照注册来讲的,其实在增删改查中我比较喜欢先查,所以着部分内容就先跳过,我想要现实一个table 形式的news list.

然后再去做增加修改和删除的操作。

Hibernate

用习惯了Entiry Framework, 用这个Hibernate 确实有一点点的不习惯。

News List

image

就是这么一个简单的list 页面

jsp 页面:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<%@taglib prefix="s" uri="/struts-tags"%>



<!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=ISO-8859-1">

<title>news list</title>

</head>

<body>

    <table>

        <tr>

            <td>Id</td>

            <td>Name</td>

        </tr>

        <s:iterator value="#request.all" id="news">

            <tr>

                <td><s:property value="#news.id" /></td>

                <td><s:property value="#news.name" /></td>

            </tr>

        </s:iterator>

    </table>

</body>

</html>

action:

public class NewsAction extends ActionSupport {



    private static final long serialVersionUID = 1L;



    public String execute() {



        List<News> all = new ArrayList<News>();



        News temp1 = new News();

        News temp2 = new News();



        temp1.setId("1");

        temp2.setId("2");

        temp1.setName("name1");

        temp2.setName("name2");



        all.add(temp1);

        all.add(temp2);



        ServletActionContext.getRequest().setAttribute("all", all);

        return SUCCESS;

    }

}

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"

    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>MikeCURD</display-name>

    <welcome-file-list>

        <welcome-file>/page/helloWorld.jsp</welcome-file>

    </welcome-file-list>

    <filter>

        <filter-name>struts2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>



    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

</web-app>

ViewModel

package viewModel;



public class News {

    public String getId() {

        return id;

    }



    public void setId(String id) {

        this.id = id;

    }



    public String getName() {

        return name;

    }



    public void setName(String name) {

        this.name = name;

    }



    private String id;

    private String name;

}

 

Pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>MikeCURD</groupId>

    <artifactId>MikeCURD</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <packaging>war</packaging>



    <dependencies>

        <!-- Struts2 -->

        <dependency>

            <groupId>org.apache.struts</groupId>

            <artifactId>struts2-core</artifactId>

            <version>2.3.1</version>

        </dependency>

    </dependencies>

    <build>

        <sourceDirectory>src</sourceDirectory>

        <plugins>

            <plugin>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.1</version>

                <configuration>

                    <source>1.7</source>

                    <target>1.7</target>

                </configuration>

            </plugin>

            <plugin>

                <artifactId>maven-war-plugin</artifactId>

                <version>2.3</version>

                <configuration>

                    <warSourceDirectory>WebContent</warSourceDirectory>

                    <failOnMissingWebXml>false</failOnMissingWebXml>

                </configuration>

            </plugin>

        </plugins>

    </build>

</project>

struts.xml

<?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="news" extends="struts-default">

        <action name="index" class="mike.NewsAction">

            <result name="success">/page/newsList.jsp</result>

        </action>

    </package>

</struts>
不得不说,有什么工具可以简化这些操作么,请各位不吝赐教!

你可能感兴趣的:(java)